Ho implementato il mio LowerCaseUsernamePasswordAuthenticationFilter
che è solo una sottoclasse di UsernamePasswordAuthenticationFilter
.Configurare Spring Security per utilizzare UsernamePasswordAuthenticationFilter personalizzato
Ma ora il mio problema è, come configurare la sicurezza Spring per utilizzare questo filtro.
Fino ad ora ho usato:
<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>
ne ho veramente a girare di auto-config
e la necessità di configurare tutti i filtri a mano? - Se questo è vero, qualcuno può fornire un esempio per favore?
Il modo per aggiungere semplicemente un security:custom-filter
:
<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>
non risultare in un'eccezione con quel messaggio:
Configurazione problema: fagioli filtro
<lowerCaseUsernamePasswordAuthenticationFilter>
e 'fagiolo di Root: classe [ org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter]; portata =; astratta = false; lazyInit = falso; autowireMode = 0; dependencyCheck = 0; autowireCandidate = true; primaria = falso; factoryBeanName = null; factoryMethodName = null; initMethodName = null; destroyMethodName = null 'ha lo stesso valore' ordine '. Quando si utilizzano i filtri personalizzati, assicurarsi che le posizioni non siano in conflitto con i filtri predefiniti. In alternativa è possibile disabilitare i filtri predefiniti rimuovendo gli elementi figlio corrispondenti ed evitando l'uso di.