Le déplacement du Printemps de Sécurité De Java Config, d'où vient l'authentification-succès-gestionnaire-ref aller?
Notre application a une coutume gestionnaire de succès pour la réussite de connexions. Essentiellement, il redirige vers la page qu'ils étaient lors de leur session a expiré.
Nous nous dirigeons vers un Java config plutôt qu'un ressort de configuration xml. Le reste de la config est allé très doucement, mais nous ne pouvons pas trouver où mettre l'authentification-succès-gestionnaire-attribut ref de la sécurité:form-login.
<security:http auto-config='true'>
...
<security:intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY"/>
<security:form-login login-page="/login" default-target-url="/sites"
authentication-failure-url="/login"
authentication-success-handler-ref="authenticationSuccessHandler"/>
...
Voici notre config, jusqu'à présent.
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.failureUrl("/login")
.and()
.logout()
.permitAll()
.and()
}
Aussi, nous ne pouvons pas trouver où mettre par défaut-à la cible de l'url, mais qui est nettement moins important.
Mise en garde, nous sommes en fait à l'aide de Groovy, mais le code est essentiellement la même que Java config.
OriginalL'auteur geekonablog | 2014-01-13
Vous devez vous connecter pour publier un commentaire.
Tous les réglages peuvent être effectués à l'intérieur du mondial de configurer la méthode. Ajoutez la ligne suivante:
Je voulais juste rajouter que vous pouvez spécifier un autre constructeur qui prend une valeur booléenne spécifiant si vous souhaitez toujours rediriger vers l'URL spécifiée après une opération de connexion, par exemple, defaultSuccessUrl("/sites", true). Remarque si cette valeur n'est pas spécifiée, <b>, le printemps au lieu de vous rediriger vers l'url que vous essayez d'accès avant d'être redirigé vers la page d'authentification. </b>
Qu'en souvenir de moi l'authentification? Comment le gérer?
OriginalL'auteur Vaelyr
Vous devez créer bean extension
SimpleUrlAuthenticationSuccessHandler
ouSavedRequestAwareAuthenticationSuccessHandler
. Par exemple:Ensuite, vous devez la configurer sur le haricot extension
AbstractAuthenticationProcessingFilter
:Pour info, Le
successHandler.setTargetUrlParameter
est utilisé pour avoir SpringSecurity répondre à une requête de paramètre si l'authentification est réussie. Donc, vous pourriez avoir quelque chose comme:successHandler.setTargetUrlParameter("next");
et puis, si l'url est:http://localhost:8080/login?next=/foo
, sur l'authentification réussie, le succès gestionnaire de redirection pour/foo
. REMARQUE: les Choses ont peut être changé depuis 2014, mais depuis j'ai trouvé ça dans une recherche google, j'ai pensé que je pourrais fournir cette info.OriginalL'auteur Jakub Kubrynski