Question

http: //www.docjar .com / html / api / org / apache / catalina / realm / JDBCRealm.java.html

Pour utiliser ce JDBCRealm, nous avons besoin de deux tables, user et user_role.

user table - user_id, user_name, user_password
user_role table - user_id, role_id, user_name

Pourquoi user_name est requis dans la table user_role lorsque user_id y figure comme clé étrangère. JDBCRealm aurait pu utiliser une requête de jointure pour extraire des rôles ou une requête directe également s'il stockait l'ID utilisateur de la requête précédente.

Était-ce utile?

La solution

Voici la documentation Tomcat 6 pour JDBCRealm .

user_id n'est PAS requis dans l'une des tables, pas plus que role_id . La table users doit comporter des colonnes nom_utilisateur et mot_de_passe_utilisateur ; La table roles doit comporter des colonnes nom_utilisateur et nom_rôle . Les tables sont liées via nom_utilisateur .

La raison pour laquelle cela est fait de cette façon (chaîne plutôt que identificateurs numériques) est parce que Principal avait pour nom String et un appel isUserInRole () prend également le nom de rôle sous la forme String .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top