2010-05-14 18 views
1

Je travaille avec le projet jsp/servlet et je dois compléter le module de gestion d'accès à mes jsps car j'ai plus d'un utilisateur avec un profil différent.gestion d'accès utilisateur dans l'application web j2ee

Je définis une table dans ma base de données qui reprend le profil et l'url autorisés comme ça:

id_profil :1 
url : http://localhost/...xyz.jsp 
id page 1 

Maintenant, je suis en train de laisser le menu modifié de façon appropriée à l'id_profil de l'utilisateur connecté.

Il y a donc des pages autorisées dans un profil mais elles doivent être cachées aux autres. Je n'ai aucune idée depuis maintenant comment réaliser ceci.

Répondre

2

Il est un peu un exaplanation vague, mais vous pouvez utiliser un si dans jsp pour masquer les options de menu à base de id_profil, quelque chose comme ceci:

<c:if test="${currentUser.id_profil == 1}"> 
    <button label="Only id_profil 1"/> 
</c:if> 
2

Gardez à l'esprit que, en changeant les valeurs indiquées par un menu, vous n'empêchez pas un utilisateur d'accéder directement à une page - même si l'utilisateur ne peut pas accéder à xyz.jsp en déposant un élément de menu, il peut toujours entrer xyz.jsp dans la barre d'adresse de son navigateur . Vous devrez donc bloquer l'accès d'une autre manière.

Si vous avez une expérience avec Spring, ou envisagez de l'implémenter, jetez un oeil à Spring Security. Il peut être utilisé pour limiter les droits d'accès des utilisateurs aux différentes parties de votre application. Ce n'est pas très difficile à mettre en place si vous êtes déjà familier avec Spring.

ETA: Pour quelques notions de base qui ne nécessitent pas de sécurité Spring, consultez la sécurité dans web.xml: http://java.sun.com/javaee/5/docs/tutorial/doc/bncbe.html#bncbj