2011-09-12 18 views
19

は春のセキュリティpetclinic例から一部です:access = "permitAll"とfilters = "none"の違いは?ここ

<http use-expressions="true"> 
    <intercept-url pattern="/" access="permitAll"/> 
    <intercept-url pattern="/static/**" filters="none" /> 
    <intercept-url pattern="/**" access="isAuthenticated()" /> 
    <form-login /> 
    <logout /> 
</http> 

=「permitAll」とフィルターは=「なし」のアクセスの違いは何ですか?

URL:http://static.springsource.org/spring-security/site/petclinic-tutorial.html

答えて

28

違いはaccess = "permitAll"フィルタを無効にせずに許可を設定するのに対しfilters = "none"は、指定したURLの春のセキュリティフィルタを無効にしていることです。

実際には、filters = "none"は、それ以降のリソースにSpring Securityの機能が必要な場合に問題を引き起こす可能性があります。たとえば、submit(User Granted Authorities are always : ROLE_ANONYMOUS?)でプログラムによるログインを実行するユーザー登録ページには使用できません。

+0

保護されたアプリケーションのcssファイルとjsファイルでも 'filters =" none "'の代わりに 'access =" permitAll "'を使うべきですか? – kamaci

+0

あなたのリンクにもコメントしました。 – kamaci

+0

@kamaci:私が理解する限り、 'filters =" none "は静的リソースの問題を引き起こしません。ただし、動的リソース用に使用する場合は、その違いを念頭に置く必要があります。 – axtavt

関連する問題