JDBCrealm基于FORM的问题。但是BASIC工作得很好!

时间:2010-01-28 02:31:47

标签: java-ee-6

我使用Basic Auth成功配置了Glassfish以使用JDBCrealm。但它不适用于Jsp页面。使用j_security_check和j_username以及j_password,我的jsp页面很简单。它将我抛给UnAuthorizedAccess页面(登录错误页面)。奇怪的是,它适用于基本身份验证,而不适用于基于表单的身份。任何人都可以说有什么潜在的问题?

JDBCrealm表的要求结构也是如此丑陋,我的意思是为什么它如此不规范?如果我想改变结构怎么办?喜欢

用户(Userid int,用户名varchar(50),Userpassword varchar(50))

角色(Roleid int,Rolename varchar(20))

UsersXRoles(UsersXRolesId int,UserId int,RoleId int)

??我该如何配置呢?

提前致谢:)

2 个答案:

答案 0 :(得分:1)

我找到了一个可以执行此操作的库:http://flexiblejdbcrealm.wamblee.org/

答案 1 :(得分:1)

您可以创建规范化数据库并为Glassfish创建视图。我们使用您在帖子中描述的相同布局,我们的视图如下所示:

CREATE OR REPLACE VIEW v_user_role_relation AS 
 SELECT u.username, u.password, g.groupname
   FROM user_group_rel ugr
   JOIN users u ON u.user_id = ugr.user_id
   JOIN groups g ON g.group_id = ugr.group_id::numeric;

但是你的另一个问题可能有很多原因。检查您是否在服务器配置中定义了Realm,而不仅仅是在默认配置中(发生在我身上)。