应用程序服务器基于角色的访问控制

时间:2014-11-03 18:26:35

标签: java websphere-8 application-server

我正在努力在WS Liberty下实现基于角色的授权服务。 有两个主要目标:

  • 如果没有正确用户组的用户尝试打开受限制的网址,则显示错误页面
  • 用户应该看到一个菜单,其中列出了可供他使用的所有页面

我的问题是:是否有实施此行为的最佳做法?我应该在server.xml中创建第一部分,在相应的视图中创建第二部分吗? (这种方式“逻辑”将存储在代码的两个不同部分,例如,如果我必须添加一个新的URL,我必须将它插入两个不同的地方)

那么有没有办法将这个角色-URL映射存储在一个地方?

谢谢, krisy

1 个答案:

答案 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注册表中批准或拒绝用户。