|
上页 | 目录 | 下页 | |
| 非角色权限 | 移植 | |||
Ralasafe的GUI界面非常友好易用,也非常强大。因此,在生产环境我们必须要保证该界面的访问安全性。另外,ralasafe还自带有一些filter,可以帮助打造更好的安全系统,编写更少的代码。
当url地址如"/foo/bar.jsp"被访问的时候,我们其实可以判断这个url是否应该被保护。如果它应该被保护,在RBAC模型中势必有一个权限对应该url。换句话说,如果有个权限指向某url,那么该url是必须受到保护的,严禁未授权访问。
当您在ralasafe管理界面创建权限的时候,我们强烈建议您输入其对应的url。Ralasafe支持带有参数的url,如"employMng?op=add"。
只需将 org.ralasafe.webFilter.UrlAclFilter 配置到web.xml即可,ralasafe将替您检查url访问。如果该url是受保护的,ralasafe的处理步骤如下:
更多信息阅读 javadoc。
org.ralasafe.webFilter.LoginFilter 可以帮助您控制哪些页面需要用户登录后查看,如果没有登录转到登录页面。而且该filter还能帮助您验证用户名、密码。只需将该filter配置到web.xml即可。
更多信息阅读 javadoc。
在生产环境中,我们必须要保护ralasafe安全。只有被授权的用户才能访问ralasafe的GUI。
Ralasafe将GUI分为3大权限,如下图示:
我们进一步研究如果登录用户具有 "Assign Role To User" 权限,那么他/她能给哪些用户赋角色呢,全部用户还是部分?
Ralasafe将 "Assign Role To User" 看做查询权限。给该权限赋予查询策略,就能解决这个问题:“他/她能给哪些用户赋角色”。
以ralasafe demo应用为例,我们将实现这样的需求:
采取以下步骤,我们就能做到:
| 步骤 | 屏幕截图 |
|---|---|
1, 在 {ralasafe-demo-webapp}/WEB-INF/classes目录下创建demo目录,在该目录下新建 DemoUser.java,并编辑它; 注意:
|
package demo;
import org.ralasafe.db.MapStorgeObject;
public class DemoUser extends MapStorgeObject {
private Integer id;
private String name;
private String companyName;
public Integer getId() {
return id;
}
public void setId( Integer id ) {
this.id=id;
super.put( "id", id );
}
public String getName() {
return name;
}
public void setName( String name ) {
this.name=name;
super.put( "name", name );
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName( String companyName ) {
this.companyName=companyName;
super.put( "companyName", companyName );
}
}
|
| 2, 使用ralasafe-{version-number}.jar类库编译; | javac -classpath .;../lib/ralasafe-1.0-rc1-v20100717.jar demo/DemoUser.java |
| 3, 设计查询"All users"; | ![]() |
| 4, 设计查询"Users in the same branch or sub-branches" 和查询 "Users in the same sub-branch";(您可以复制 "All users",然后做少量修改) | |
| 5, 给 "Assign Role To User" 授权查询策略; | ![]() |
| 6, 将角色 "Ralasafe Administrator" 赋给用户 Alexis Stark、John Smith和Camylle Boyd; | ![]() |
| 7, 启用ralasafe的安全控制,在web.xml->StartupServlet->secured。将参数值改为true,重启tomcat; |
<init-param> |
| 8, 使用demo的登录界面登录, 然后转到 ralasafe gui界面。右图表示John Smith在登录界面登录后,转到ralasafe gui界面,用户面板显示了27个用户,他能为这27名用户赋角色。 | ![]() |
|
上页 | 目录 | 下页 | |
| 非角色权限 | 移植 | |||