当前位置:

免费论文网首页 > 计算机论文 > 计算机应用 >


实现基于Spring框架应用的权限控制系统

http://www.MianFeiLunWen.com  免费论文网  黎小红 2007-4-15 12:34:27 
------------------------------------------[发送]-[打印]-[投稿]-[VIP]---------------

  2、Acegi安全系统数据库设计

  在Acegi框架中支持多种安全信息的持久化方式,可以在配置文件中配置或存放在关系数据库。由于在实际应用中,需求是经常发生变化的。所以,在配置文件中配置是满足不了实际应用需求的。然而,Acegi本身对权限表的设计非常简单,users表{username,password,enabled} 和authorities表{username,authority},这样简单的设计肯定无法适用复杂的权限需求。为了解决权限管理的复杂性,在这里引入了role(角色)的概念,使得用户和权限分离,一个用户拥有多个角色,一个角色拥有多个相应的权限,这样就更灵活地支持安全策略。

  同时,为了更好地配合Acegi安全框架,还引入resource(资源)的概念,资源可分为URL和FUNCTION(方法)两种,一个权限可以对应多个资源。具体的数据库设计见图2。


图1 安全管理对象,拦截器和安全管理组件交互图

图2 Acegi安全控制系统数据库设计
3、认证管理器,授权管理器的配置
  实现系统的安全控制,首先需要对系统的安全管理器和授权管理器进行配置,系统进行认证和授权需要获取安全信息,Acegi本身提供了对认证信息的获取机制,在实现认证与授权过程中,系统将主动根据配制信息和相应的信息解释安全信息的读取。图3给出了一个将用户安全信息存储在数据库中的认证管理器的配置示意图。
  对应于图示的XML配置文件的代码如下:


/* 配置数据库datasource 和Acegi 的 jdbcDao */
<bean id=”dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource”>
 <property name=”driverClassName”>
  <value>${jdbc.driverClassName}</value>
 </property>
 <property name=”url”>
  <value>${jdbc.url}</value>
 </property>

图3 认证管理器配制示意图

<property name=”username”>
 <value>${jdbc.username}</value>
</property>
<property name=”password”>
 <value>${jdbc.password}</value>
</property>
</bean>
<bean id=”jdbcDaoImpl” class=”org.acegisecurity. roviders. dao.jdbc.JdbcDaoImpl”>
 <property name=”dataSource”>
  <ref bean=”dataSource”/>
 </property>
</bean>

/*配置用户信息的加密算法*/
<bean id=”passwordEncoder”
Class=”org.acegisecurity.providers.encoding.Md5passwordEncoder”/>
/*配置缓存有效时间*/
<bean id=”userCache” class=”org.acegiSecurity. providers. dao.cache.EhCacheBasedUserCache”>
 …//这里对缓存有效时间进行设置
</bean>

/*配置daoAuthenticationProvider*/
<bean id=”daoAuthenticationProvider”
class=”org.acegisecurity.providers.dao.DaoAuthenticationProvider”>
 <property name=”authenticationDao”>
  <ref local=”JdbcDaoImpl”/>
 </property>
 <property name=”passwordEncoder”>
  <ref local=” passwordEncoder”/>
 </property>
 <property name=”userCache”>
  <ref local=” userCache”/>
 </property>

</bean>

/*配置认证管理器*/
<bean id=”authenticationManager” class=”org.acegisecurity. providers.ProviderManager”>
 <property name=”providers”>
  <list>
   <ref local=”daoAuthenticationProvider”/>
  </list>
 </property>
</bean>

  授权管理器的配置方法与认证管理器的配置基本类似,这里不再讨论。
4、安全请求拦截器的配置

以上配置完成后,就需要配置安全拦截器。不同的安全管理对象需要使用不同的安全拦截器。对于方法级的安全认证需要使用的拦截器为MethodSecurityInterceptor,而应用于URL资源的安全拦截器为FilterSecurityInterceptor 。其中,MethodSecurityInterceptor拦截器是借助于Spring Aop实现的,而FilterSecurityInterceptor拦截器是借助于Servlet Filter 实现的。本文以URL资源请求的安全拦截器为例说明配置情况。

本篇论文共3页,当前在第2页  1  2  3  

-------------------------------------------------------[发送]-[打印]-[投稿]-[VIP]--
上一篇:Linux操作系统下以太网卡的安装及配置
下一篇:Spring框架的事务管理应用分析
会员名称:
 密码:匿名 ·注册·密码?
评论内容:
(最多300个字符)
  查看评论
论文发表
·论文网在线最新代理刊物清单
·国家级刊物《现代商贸工业》 征稿
·国家级经济类刊物《消费导刊》征
·《**大学学报》大量征稿,欢迎投
·《**教育》期刊征稿中,请点击查看
热点推荐
·房地产业与泡沫经济
·新形势下中国对外贸易应采取的有
·浅谈新所得税法对外资企业的影响
·市场经济负面效应及其控制
·网络环境/标引深度/创新关键词
·谈小学各学科教育中对德育教育的
·论债与责任的融合与分离
·加强会计职业道德建设促进会计行
·对当前房地产案件中几个常见问题
·利用Web Services实现软件自动升
最新更新
·“拓展训练”在高校体育教学中的
·谈小学各学科教育中对德育教育的
·勤俭节约办高校图书馆的几点浅见
·谈小学各学科教育中对德育教育的
·农村中小学音乐教育的现状与对策
·探索物理实验在教学中的地位再现
·烟塔合一技术应用前景分析
·烟粉虱的种下变异和我国的分布现
·多边贸易体制下我国农产品贸易发
·对当前房地产案件中几个常见问题
赞助连接
内容加载中请耐心等待 ...