实现基于Spring框架应用的权限控制系统网(2)
2014-02-09 01:40
导读:1、分析系统安全性需求 首先,需要明确进行安全控制的对象,可为业务方法和URL资源。 其次,需要进一步明确,系统身份认证资料和资源授权信息的数据
1、分析系统安全性需求
首先,需要明确进行安全控制的对象,可为业务方法和URL资源。
其次,需要进一步明确,系统身份认证资料和资源授权信息的数据持久化形式。
2、Acegi安全系统数据库设计
在Acegi框架中支持多种安全信息的持久化方式,可以在配置文件中配置或存放在关系数据库。由于在实际应用中,需求是经常发生变化的。所以,在配置文件中配置是满足不了实际应用需求的。然而,Acegi本身对权限表的设计非常简单,users表{username,password,enabled} 和authorities表{username,authority},这样简单的设计肯定无法适用复杂的权限需求。为了解决权限管理的复杂性,在这里引入了role(角色)的概念,使得用户和权限分离,一个用户拥有多个角色,一个角色拥有多个相应的权限,这样就更灵活地支持安全策略。
同时,为了更好地配合Acegi安全框架,还引入resource(资源)的概念,资源可分为URL和FUNCTION(方法)两种,一个权限可以对应多个资源。具体的数据库设计见图2。
 图1 安全管理对象,拦截器和安全管理组件交互图
 图2 Acegi安全控制系统数据库设计 |
下一页