我想在我的Struts2.3
应用程序中实现基于角色的访问控制以使其安全。
以下是我正在寻找的功能:
- 具有会话超时的用户身份验证和会话管理。
- 基于用户角色的授权。
我在这个主题上进行了很多搜索,但找不到合适的解决方案。
我已经在Struts1.2
应用程序中实现了 Acegi 安全性,但没有找到在Struts2.3
.
对此的任何指示都会非常有帮助。
谢谢
我想在我的Struts2.3
应用程序中实现基于角色的访问控制以使其安全。
以下是我正在寻找的功能:
我在这个主题上进行了很多搜索,但找不到合适的解决方案。
我已经在Struts1.2
应用程序中实现了 Acegi 安全性,但没有找到在Struts2.3
.
对此的任何指示都会非常有帮助。
谢谢
Acegi Security
现在被称为Spring Security
从 2007 年开始。
您的所有问题都在这里得到解答。
该文档运行多页,因此我将为您提供有关您需要检查的主题的快速指示
用户身份验证:使用其他身份验证提供程序
会话管理:会话管理
授权:Spring Security中的Access-Control(授权)
身份验证:LDAP 与应用程序服务器集成是要走的路
下载openDJ,设置用户和单个组,将用户分配到组
以 glassfish 为例,设置 glassfish LDAP 域,让域指向 ldap 服务器
配置 glassfish.xml 和 web.xml。根据您的 ldap 组指定基于目录的限制,因此不同的 ldap 用户可以访问您的 Web 应用程序的不同区域
创建一个安全文件夹,将所有网页放在那些文件夹中,除了登录页面。
关键是一旦通过关键字 j_security_check 使用登录,glassfish auth ldap 允许您访问安全文件夹中的内容
缺点是 ldap 没有权限概念
用户权限:
for well defined permission access. you have to implement on you own
权限表包含所有权限活动
您必须已经拥有的用户表
角色表定义所有角色
角色到用户多对多关系
角色权限多对多关系
user <--> role <-> permission
每当您想为用户执行操作时,获取当前用户名
从会话中,然后获取该用户具有的角色列表
然后获取用户角色拥有的权限
然后检查该操作,看看您是否被允许这样做。
这只是一种方法。我希望 LDAP 能给你能力
定义权限,显然它没有