> Why is the user's name in the role's table assumed to have the same
> column name as in the user's table?
> 
> I think a lot of people already discussed about this topic, 
> and I know how to correctly manage the configuration,
> but I still don't understand why this limitation has been introduced.
> 
> I know I can easly extend the class
> org.apache.catalina.realm.JDBCRealm
> to add a new attribute and override the query used to retrieve the
> user's roles
> (this is what I've been doing) but I don't want to rebuilt my project
> each time
> I change the version of the application server just to be sure that my
> class
> extendes the correct class.
> 
> Wouldn't be easyer to add an attribute "userRoleNameCol" to the
> standard JDBCRealm
> If that value is missing, than the column name can be supposed to be
> equal to the
> column name in the user's table.
> 
> Note: I don't think it's right to write the DB according to what the
> application server imposes!
> Also because many times I develop applications based on the customer
> DB, therefore I can
> not change it!
> 
        A general DB structure, according to me, is:

users table;
+-----------+---------------+------+-----+---------+-------+
| Field     | Type          | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+-------+
|  us_name  | varchar(16)   |      | PRI |         |       |
|  us_pwd   | varchar(16)   |      |     |         |       |
+-----------+---------------+------+-----+---------+-------+

user roles table;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| ur_user   | varchar(16) |      | PRI |         |       |
| ur_role   | varchar(16) |      | PRI |         |       |
+-----------+-------------+------+-----+---------+-------+

Reply via email to