Sono in grado di utilizzare una pagina di accesso personalizzato con Primavera di sicurezza 3.2.4, ma dopo la migrazione con il codice qui sotto usando 4.0.0, vedo un form di login generica al posto di mia abitudine uno:Perché la mia pagina di accesso personalizzata non viene visualizzata con Spring Security 4?
<beans:bean id="authSuccessHandler" class="com.company.web.RoleBasedAuthenticationSuccessHandler" />
<http disable-url-rewriting="false" use-expressions="true">
<form-login login-page="/login"
username-parameter="j_username"
password-parameter="j_password"
login-processing-url="/j_spring_security_check"
authentication-failure-url="/login?login_error=true"
authentication-success-handler-ref="authSuccessHandler"/>
<!-- SOME INTERCEPT-URLs (redacted) -->
<intercept-url pattern="/login" access="permitAll"/>
<remember-me
remember-me-parameter="_spring_security_remember_me"
remember-me-cookie="SPRING_SECURITY_REMEMBER_ME_COOKIE"/>
<logout
logout-url="/j_spring_security_logout"
logout-success-url="/index" />
</http>
I ha anche provato a abilitare la registrazione di debug sulle varie classi Spring. L'ho impostato sul mio authSuccessHandler personalizzato, ma non vedo alcun output da esso. Nessuna fortuna con la ricerca su SO o Google.
C'è qualcosa di incompatibile con questa configurazione?
Aggiornamento:
Inoltre sto usando Apache Tiles come così:
<definition name="login" extends="scrollableLayout">
<put-attribute name="header" value="/WEB-INF/jsp/heading_blue.jsp"/>
<put-attribute name="body" value="/WEB-INF/jsp/login.jsp"/>
</definition>
E utilizzando il seguente:
3.x<mvc:view-controller path="/login" />
vorrebbe dire che ho dovrei rimuovere login-page = "/ login"? Ho provato a rimuoverlo, ma senza fortuna. Sto usando Tiles se questo fa differenza. Il mio JSP è chiamato login.jsp. – bphilipnyc
Hai un metodo del controller mappato a '/ login' che a sua volta rende' login.jsp'? – manish
Sì, aggiunge solo alcune variabili al modello e restituisce "login". – bphilipnyc