我使用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)
??我该如何配置呢?
提前致谢:)
答案 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,而不仅仅是在默认配置中(发生在我身上)。