2010-04-07 4 views
4

Je travaille sur un projet de conversion d'une application Web Java existante pour utiliser Spring Web MVC. Dans le cadre de cela, je vais migrer le mécanisme de connexion/déconnexion existant pour utiliser Spring Security. L'idée à ce stade est de répliquer la fonctionnalité existante et de ne remplacer que la couche Web, en laissant les classes de service et les objets en place. La fonctionnalité requise est simple. L'accès est contrôlé pour les URL et pour accéder à certaines pages que l'utilisateur doit se connecter. L'authentification est effectuée avec un nom d'utilisateur et un mot de passe simples ainsi qu'une information statique supplémentaire provenant de la page de connexion. Il n'y a pas de notion de rôle: une fois qu'un utilisateur s'est connecté, il a accès à toutes les pages. Dans les coulisses, la couche de service a une classe avec une méthode simple d'authentification:Comment utiliser un mécanisme d'authentification personnalisé pour une application Web Java avec Spring Security?

doAuthenticate(String username, String password, String info) throws ServiceException 

Une exception est levée si la connexion échoue.

Je voudrais laisser cet objet de service existant qui fait l'authentification intact mais pour le "brancher" dans le mécanisme de sécurité de ressort. Quelqu'un peut-il suggérer la meilleure approche à prendre pour cela s'il vous plaît? Naturellement, je voudrais prendre le chemin de la moindre résistance et laisser le travail si possible au printemps ...

Merci d'avance.

Répondre

0

Découvrez Authentication Overview. Vous voudrez probablement faire votre propre UserDetailsService et ensuite définir votre propre AccessDecisionManager qui vote simplement toujours OUI si l'utilisateur s'est authentifié.

+0

Merci, je vais y jeter un coup d'oeil. – Adam

3

Mettre en œuvre org.springframework.security.authentication.AuthenticationProvider qui authentifie org.springframework.security.authentication.UsernamePasswordAuthenticationToken.

+0

OK merci, je vais essayer. – Adam

Questions connexes