Je crée cette application en utilisant principalement JSP et Tomcat comme serveur. J'essaye de mettre en place des niveaux d'autorisation par lesquels certaines catégories d'utilisateurs peuvent faire certaines choses (accéder à certaines pages comme créer de nouveaux enregistrements ou rechercher des enregistrements passés), par exemple créer un nouvel utilisateur.Définition de l'autorisation pour l'application Java EE
Qu'est-ce que je l'ai fait maintenant est d'abord:
<%
String user = request.getParameter("name");
String pwd = request.getParameter("password");
String sql = "select * from members where name = ? and password = ?";
int role = 0;
// since execute returns an int of 1 or 0, we can use it for our if-else statement
if (BaseDAO.check(sql, user, pwd) != 0) {
session.setAttribute("user", user);
role = BaseDAO.checkRole(sql, user, pwd);
session.setAttribute("role", role);
response.sendRedirect("frameMgr.jsp");
} else {
session.setAttribute("login", 0);
response.sendRedirect("loginPage.jsp");
}
%>
Après connexion est réussie, je puis tirer la valeur pour le rôle de la base de données et le mettre à l'attribut de session. Puis plus tard, à ma page createNewUser, j'ai ce pour vérifier si l'utilisateur est le rôle attribué
<%
int role = (Integer) session.getAttribute("role");
// only allow people with admin role to create more accounts
if (role != 5) {
response.sendRedirect("frameContent.jsp"); //back to homepage
}
%>
Cependant j'ai réalisé que cette méthode est inefficace que je dois mettre le contrôle sur chaque page et s'il y a les changements dans le futur je devrais aller page par page pour changer le code. existe-t-il une méthode pour contrôler tous les niveaux d'autorisation sur une seule page? plutôt que d'avoir à le faire sur tous mes fichiers jsp
salut, donc vous suggérez que je peux employer ceci pour remplacer le contrôle que j'ai besoin d'écrire dans chaque page pour contrôler les ressources qu'un utilisateur peut accéder juste? Par exemple, interdisez aux utilisateurs non administrateurs d'accéder à la page createNewUser. Merci de votre aide. – sicnarfmis