2010-11-04 11 views
1

1) Comment puis-je ajouter un champ personnalisé dans mon formulaire de connexion et utiliser cette valeur pour naviguer vers une page différente après la connexion. J'ai besoin d'un fournisseur d'authentification personnalisé pour m'authentifier. Pouvons-nous utiliser spring mvc pour lier tout cela?Champs personnalisés de sécurité de printemps

2) Comment pouvons-nous obtenir HttpSession dans un fournisseur d'authentification?

Répondre

0

1) Je suppose que, vous pouvez choisir le comportement par défaut en mettant en œuvre votre propre AuthenticationSuccessHandler et passant à <form-login authentication-success-handler-ref="..."/>

2) Ceci est en fait pas dans la veine de la séparation du paradigme des préoccupations de sécurité du printemps où l'authentification Le fournisseur remplit l'objet Authentication et un autre filtre persiste/remplit l'authentification dans/depuis la session HTTP. Néanmoins, vous pouvez généralement accéder à la requête HTTP en cours et, par conséquent, à une session, depuis n'importe où dans la chaîne de traitement des demandes en ajoutant le filtre org.springframework.web.context.request.RequestContextListener à votre web.xml. Utilisez ensuite ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession() pour accéder à la session à partir de votre fournisseur d'authentification.