2017-04-17 8 views
0

Spring Security 2.xがhttp:servername/webAppNameをインターセプトしています。私の理解に基づいて、filter="none"は、アクセスロールを必要としないURL用のSpring Securityフィルタチェーンを破棄する必要があります。この設定が、宣言されていないすべてのURL(/listing/load)をベースURLを含めて傍受している理由は誰にも分かりますか?Spring Securityのurl-interceptor leak/*

<http auto-config="true" entry-point-ref="entryPoint" session-fixation-protection="none"> 
    <intercept-url pattern="/listing/pages/*" filters="none"/> 
    <intercept-url pattern="/load/page/*" filters="none"/> 
    <intercept-url pattern="/admin/*" access="ROLE_USER"/> 
    <intercept-url pattern="/secret/*" access="ROLE_USER"/> 
    <intercept-url pattern="/**" filters="none"/> 
    <http-basic/> 
</http> 
+0

http://stackoverflow.com/questions/10513688/apply-security-none-to-context-root-and-static-resources-spring-security-versi – dur

+0

ありがとうございました。似たようなことができるかどうかがわかります。リンクはスプリングセキュリティ3.1 – MAXStack

答えて

-1

<security:http auto-config="true" entry-point-ref="entryPoint" session- 
fixation-protection="none"> 
<http-basic/> 
<intercept-url pattern="/admin/*" access="ROLE_USER"/> 
<intercept-url pattern="/secret/*" access="ROLE_USER"/> 
<intercept-url pattern="/listing/pages/*" access="ROLE_ANONYMOUS"/> 
<intercept-url pattern="/load/page/*" access="ROLE_ANONYMOUS"/> 
<intercept-url pattern="/**" access="ROLE_ANONYMOUS"/> 
</security:http> 

とはい、春のセキュリティのためのあなたのxmlns名前空間を確認し、これを試してみて、その罰金ですか?

+0

... MAXStack

+1

テスト目的あなたは言及したとおりに置き換え、無限ループを終わらせました。 request = "ROLE_ANONYMOUS"はフィルタチェーンを破棄せず、リクエストヘッダーにサイトマナの情報がない場合、追加されたカスタマイズフィルタは例外をスローします。ここでの目的は、フィルタチェーンをスキップすることです。私の名前空間は以下の通りです。 – MAXStack

+0

@MAXStack GenericFilterBeanを拡張して独自のカスタムフィルタを作成し、ビジネスタスクを実行してfilterChain.doFilterの呼び出しを削除するだけで、フィルタチェーンをスキップしたい場合は(推奨しませんが)リクエスト、レスポンス)メソッド。カスタムフィルターを作成する例を見たい場合は、私の他の回答をチェックしてください。http://stackoverflow.com/a/43474961/6838178 – KAmit