我正在努力在WS Liberty下实现基于角色的授权服务。 有两个主要目标:
我的问题是:是否有实施此行为的最佳做法?我应该在server.xml中创建第一部分,在相应的视图中创建第二部分吗? (这种方式“逻辑”将存储在代码的两个不同部分,例如,如果我必须添加一个新的URL,我必须将它插入两个不同的地方)
那么有没有办法将这个角色-URL映射存储在一个地方?
谢谢, krisy
答案 0 :(得分:0)
在您的应用程序中,您可以保护链接检查角色(伪代码,某些框架已经为其自定义标记):
if(request.isUserInRole("roleX")) {
// render menu item for roleX
}
默认情况下,如果用户已登录并尝试访问受限制的页面,他将收到403 Not authorized
,您可以通过web.xml
配置为该代码提供错误页面。
在server.xml
via Application binding
元素中,您只提供从应用程序角色到注册表中定义的组的映射。根据注册表类型,您可以添加/删除给定组的用户,例如通过server.xml
或LDAP管理工具在LDAP注册表中批准或拒绝用户。