Java – configure spring security to use custompasswordauthenticationfilter
•
Java
I have implemented my own lowercaseusernamepasswordauthenticationfilter, which is just a subclass of usernamepasswordauthenticationfilter
But now my question is how to configure spring security to use this filter
So far, I have used:
<security:http auto-config="true" use-expressions="true"> <security:form-login login-processing-url="/resources/j_spring_security_check" login-page="/login" authentication-failure-url="/login?login_error=t" /> <security:logout logout-url="/resources/j_spring_security_logout" /> <security:intercept-url pattern="/**" access="isAuthenticated()" requires-channel="${cfma.security.channel}" /> </security:http>
Do I really want to turn on automatic configuration? Do I need to manually configure all filters If this is true, can anyone provide an example?
How to add simple security: custom filters:
<security:http ...> <security:form-login login-processing-url="/resources/j_spring_security_check" login-page="/login" authentication-failure-url="/login?login_error=t" /> <security:custom-filter ref="lowerCaseUsernamePasswordAuthenticationFilter" position="FORM_LOGIN_FILTER"/> ... </security:http>
The exception that did cause the message:
Solution
I have done this by manually writing the required auto - configured beans This is the result:
<!-- HTTP security configurations --> <security:http auto-config="false" use-expressions="true" entry-point-ref="loginUrlAuthenticationEntryPoint"> <!-- <security:form-login login-processing-url="/resources/j_spring_security_check" login-page="/login" authentication-failure-url="/login?login_error=t" /> replaced by lowerCaseUsernamePasswordAuthenticationFilter the custom-filter with position FORM_LOGIN_FILTER requries that auto-config is false! --> <security:custom-filter ref="lowerCaseUsernamePasswordAuthenticationFilter" position="FORM_LOGIN_FILTER"/> <security:logout logout-url="/resources/j_spring_security_logout" /> <security:intercept-url pattern="/**" access="isAuthenticated()" /> </security:http> <bean id="loginUrlAuthenticationEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint"> <property name="loginFormUrl" value="/login"/> </bean> <bean id="lowerCaseUsernamePasswordAuthenticationFilter" class="com.queomedia.cfma.infrastructure.security.LowerCaseUsernamePasswordAuthenticationFilter"> <property name="filterProcessesUrl" value="/resources/j_spring_security_check"/> <property name="authenticationManager" ref="authenticationManager"/> <property name="authenticationFailureHandler"> <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler"> <property name="defaultFailureUrl" value="/login?login_error=t"/> </bean> </property> </bean>
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码