二、dbms实现鉴权
1.dbms鉴权,修改FilterSecurityInterceptor中的objectDefinitionSource属性,注入rdbmsFilterInvocationDefinitionSource,可加入Ehcahe提高性能
<!-- 权限过滤,基于URL的过滤器,使用RDBMS和Ehcache实现 -->
 <bean >
   <value>webresdbCache</value>
  </property>
 </bean>

RdbmsFilterInvocationDefinitionSource是objectDefinitionSource的dbms实现,这个要自己实现


2.aop实现方法过滤
 如果不想对action,url等资源过滤,也可对调用方法过滤,实现特定角色只能实现特定方法。在applicationContext.xml中配置,注意这里是用BeanNameAutoProxyCreator实现aop的.
  <bean > <value>
  com.role.action.RoleAction.operateRole=ROLE_ADMIN </value> </property>
  </bean>
 

 <bean >
   <value>webresdbCache</value>
  </property>
 </bean>

 <bean >
   <list>
    <value>*Action</value>
   </list>
  </property>
 </bean>

3.表结构设置
 按照常规的权限模型设计:用户表、角色表、用户角色关系表、角色功能关系表;系统表、模块表、菜单表、按钮表、按钮资源表(在一个操作做个url的情况使用)
 权限这块的表结构所有的系统都查不多,这里只是在功能表里面多加上了url字段。对外显示为特定角色有执行某模块、某菜单、界面中的某个按钮的权限,对内则是某个角色和action的映射关系供acegi鉴权使用

acegi安全框架使用:第二部分

相关文章:

  • 2021-10-22
  • 2021-10-26
  • 2022-12-23
  • 2021-09-25
  • 2021-10-02
  • 2022-12-23
  • 2021-06-24
  • 2021-11-11
猜你喜欢
  • 2021-04-23
  • 2022-02-12
  • 2021-09-27
  • 2021-04-20
  • 2021-08-20
  • 2021-05-24
相关资源
相似解决方案