2010-10-24 5 views
1

J'utilise CAS (Central Authentication Service) de Jasig dans une application JSF client exécutée sur le serveur Tomcat 6. Je souhaite limiter l'accès à l'application uniquement aux utilisateurs spécifiés dans ma base de données plutôt qu'à tous les utilisateurs pouvant être authentifiés à l'aide de ce service CAS. Lorsque l'utilisateur tente de se connecter, j'ai besoin de vérifier si son nom d'utilisateur est également dans l'utilisateur de la table de ma base de données et si c'est - permettre l'accès à l'application. Sinon, je voudrais rediriger l'utilisateur vers une page "Vous n'avez pas la permission d'accéder à cette partie de l'application". J'ai donc besoin d'une autorisation aussi. Existe-t-il un bon moyen d'autoriser les utilisateurs en jsf 2.0? Merci d'avance pour toute aide/suggestion.Authentification CAS et limitation de l'accès pour les utilisateurs spécifiés

Répondre

0

Il semble que vous ayez besoin de concevoir une classe de gestionnaire d'authentification personnalisée dans CAS. En théorie, votre gestionnaire étendrait ceci [1], effectuerait tous les contrôles nécessaires et toutes les recherches dans la base de données et serait alors capable de renvoyer un signal indiquant si l'utilisateur pouvait ou non authentifier.

Vous devez ensuite référencer votre gestionnaire personnalisé dans le fichier deploerConfigContext.xml. Pour afficher le message, vous pouvez soit lancer une exception avec le code de messages approprié, de sorte que le message apparaisse au-dessus du formulaire de connexion, ou vous pouvez modifier le flux Web de printemps et générer un nouvel état de vue que l'utilisateur être redirigé vers, s'ils ne parviennent pas à accéder. La première approche est beaucoup plus facile à mettre en œuvre.

Une autre approche serait de tirer parti de la méthode isUserInRole() [2] en utilisant l'API persondir.

[1] http://developer.jasig.org/projects/cas/cas-server-core/cas-server/cas-server-core/apidocs/org/jasig/cas/authentication/handler/support/AbstractUsernamePasswordAuthenticationHandler.html

[2] https://wiki.jasig.org/pages/viewpage.action?pageId=47874068

Questions connexes