Bonjour,
J'utilise tomahawk et jscookMenu pour contruire mon menu. J'aimerais filtrer l'affichage des items en fonction du rôle de l'utilisateur conneté sur l'application en utilisant l'attribuit visibleOnUserRole de la balise navigationMenuItem et assurer aussi la sécurité de l'application avec Realm.
Pour cela, j'ai créé une base donnée relationnelle. J'ai créé les tables user et user_role. J'ai fait cette configuration dans mon fichier server.xml:
Dans mon fichier web.xml j'ai fais ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/maBase?user=root&password=motdepass" userTable="user" userNameCol="login" userCredCol="password" userRoleTable="user_role" roleNameCol="profile"/>
Et dans mon jsp constituant mon menu voici ce que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <security-role> <role-name>Admin</role-name> </security-role> <security-role> <role-name>usersqimple</role-name> </security-role>
Mais rien ne marche. J'ai toujour ce item afficher si je me connect avec un utilisateur n'ayant pas ce rôle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <t:jscookMenu layout="hbr" theme="ThemePanel"> <t:navigationMenuItem id="nav_2_2" itemLabel="Modifier" action="#{ClientBean.switch_ModifierAbonne}" icon="images/update.png" actionListener="#{ClientBean.Listener_inclure_client}" visibleOnUserRole="usersqimple"/> </t:jscookMenu>
Que vais je faire?
Merci d'avance
Partager