Pregunta

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

Para usar este JDBCRealm necesitamos dos tablas, user y user_role.

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

Por qué se requiere user_name en la tabla user_role cuando user_id está allí como clave foránea. JDBCRealm podría haber utilizado una consulta de unión para extraer roles o una consulta directa también si almacena el user_id de la consulta anterior.

¿Fue útil?

Solución

Aquí está documentación de Tomcat 6 para JDBCRealm .

user_id NO se requiere en ninguna de las tablas, ni role_id . La tabla users debe tener columnas user_name y user_password ; La tabla roles debe tener columnas user_name y role_name . Las tablas están vinculadas a través de user_name .

La razón por la que se hace de esta manera (cadena en lugar de identificadores numéricos) es porque Principal tenía un nombre como String y isUserInRole () call toma el nombre del rol como String también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top