2010-08-03 14 views
1

Je veux créer une application avec trois types d'utilisateurs: administrateur, professionnel et utilisateur simple tout le monde verra des pages spéciales, donc je dois utiliser des rôles. Est-ce que quelqu'un a un bon exemple ou un bon tutoriel sur la façon de faire cela? THNX beaucoupRôles dans JSP et Servlet

Répondre

1

d'abord créer un magasin de données avec les utilisateurs et les rôles et les relations entre eux. Le choix le plus simple serait une base de données SQL avec user, role et user_roles.

Ensuite, il y a essentiellement deux façons d'y parvenir du côté JSP/Servlet.

  1. Homegrow it. Le plus facile à démarrer, mais il finira par être moins facile à maintenir à long terme. Vous devez créer un formulaire de connexion HTML/JSP, un servlet de connexion pour valider, trouver et connecter l'utilisateur et un filtre de connexion pour vérifier si l'utilisateur est connecté et/ou a accès à la ressource demandée.

  2. Utiliser Java EE provided container managed security. Vous avez juste à créer un formulaire de connexion HTML/JSP et pour le reste, il va tout dans web.xml et la configuration du domaine du serveur.

Pour afficher le contenu de la page spécifique/composants basés sur le rôle de l'utilisateur, vous pouvez utiliser les balises de contrôle de flux de JSTL: <c:if> et <c:choose>.

+0

Bonjour, Puis-je faire cela même si j'utilise EXTJS pour mes formulaires ??? La chose à faire, est par exemple, afficher page1, page2 et page3 si c'est un administrateur et afficher page2, page4 si c'est un professionnel voyez-vous? –

+0

ExtJS est une bibliothèque Javascript. JS s'exécute sur le webbrowser où l'utilisateur final a le contrôle total sur le code JS (c'est-à-dire qu'il peut désactiver/pirater/spoofer le code JS). Vous aimeriez faire ce genre de choses sensibles du côté du serveur. Utilisez JS pour l'amélioration progressive seulement, pas pour prendre en charge le travail du serveur. – BalusC

+0

Thnx beaucoup, mais je demande si cela a une quelconque influence ??? et comment faire ce que j'ai dit avant (pour les pages) du côté serveur ??? –

1

Je vous suggère d'aller pour le printemps Security.Have un coup d'oeil à ce tutorial

Si vous ne voulez pas l'utiliser, vous devez aller pour filtre.

Ecrire un filtre qui va vérifier le rôle utilisateur manuellement à partir DB et selon autoriser ou restreindre l'accès

+0

Et comment afficher les pages qui concernent le bon utilisateur authentifié? par exemple: l'administrateur peut voir la page addDocument mais pas le simple utilisateur? –

+0

s'il vous plaît élaborer. –

+0

Vérifiez le ROLE de l'utilisateur sur demande (ou même vous pouvez le mettre dans la portée de session au moment de la connexion), maintenant si la page demandée est accessible par le ROLE connecté puis affichez-la ou redirigez-la vers une autre page. –