我已經配置了一個自定義的Pre Auth過濾器,它可以延伸到AbstractPreAuthenticatedProcessingFilter
。Spring Security 3自定義過濾器和URL模式
根據我的理解,我可以指定哪些URL模式利用此過濾器,並指定任何我不想使用任何過濾器或安全性的URL。
我使用的是Spring Security 3.2和XML配置,因此我認爲應該這樣工作。
<security:http pattern="/login" use-expressions="true" security="none">
</security:http>
<security:http pattern="/home" use-expressions="true" auto-config="true"
entry-point-ref="http403EntryPoint">
<security:custom-filter position="PRE_AUTH_FILTER"
ref="openTokenFilter" />
<security:session-management
invalid-session-url="/login" />
<security:session-management>
<security:concurrency-control
max-sessions="1" error-if-maximum-exceeded="true" />
</security:session-management>
<security:access-denied-handler error-page="/login"/>
<security:logout delete-cookies="JSESSIONID"/>
</security:http>
通過爲pattern="/login"
指定security="none"
,我認爲訪問時,這就不叫過濾器「本地主機:8080 /登錄」爲例。但是,它仍在調用過濾器。
該過濾器似乎有一些全局設置,它被稱爲每個請求。我使用Spring Boot,因此我沒有web.xml文件或任何自定義servlet配置。
基本上,我希望篩選器可以爲除'/ login'以外的每個URL都工作。
您的登錄頁面是否有擴展名?在這種情況下使用模式/登錄* – hasnae
這只是一個簡單的html文件,我試過這個,但不幸的是沒有什麼區別。 –