在Glassfish v3中使用jdbcrealm授权时的表设计

时间:2010-12-25 02:01:01

标签: mysql glassfish jdbcrealm

在Glassfish v3中使用jdbcrealm时,我必须严格遵循有关表格的建议吗?目前我有以下设置:

CREATE TABLE roles (
    id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT,
    username VARCHAR(255) NOT NULL,
    rolename VARCHAR(255) NOT NULL,     
);

CREATE TABLE users (
id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, 
    username VARCHAR(255) PRIMARY KEY NOT NULL,
    password VARCHAR(255) NOT NULL, 
    firstname VARCHAR(255),
    lastname VARCHAR(255),  
    email VARCHAR(255),
    status VARCHAR(255),
    role_id INTEGER,
    CONSTRAINT FOREIGN KEY(role_id) REFERENCES roles(id)    
);

是否可以使用此设置而无需更改任何内容来创建jdbcrealm或者我是否必须更改表格?

提前致谢!

1 个答案:

答案 0 :(得分:2)

你试过吗?好像没问题。 jdbcRealm的奇怪之处在于它需要一个非标准化的数据库,人们会想要更像这样的东西:

user (userid, username, passw, ...)
security_group (security_groupid, name)
user_in_group (user_in_groupid, userid, security_groupid)

更正常化。但是这种设置不起作用。但是,如果你像我一样,并认为这应该工作,看看可爱的自定义Flexible JDBC Realm。它对我有用。