`
1011729483
  • 浏览: 9735 次
社区版块
存档分类
最新评论

acegi安全框架使用

阅读更多
acegi安全框架使用:第二部分

二、dbms实现鉴权
1.dbms鉴权,修改FilterSecurityInterceptor中的objectDefinitionSource属性,注入rdbmsFilterInvocationDefinitionSource,可加入Ehcahe提高性能
<!-- 权限过滤,基于URL的过滤器,使用RDBMS和Ehcache实现 -->
 <bean id="securityInterceptor"
  class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
  <!-- 修改默认值,防止没有授权的角色导致的错误 -->
  <property name="validateConfigAttributes" value="true" />
  <property name="authenticationManager" ref="authenticationManager" />
  <property name="accessDecisionManager" ref="accessDecisionManager" />
  <property name="objectDefinitionSource" ref="rdbmsFilterInvocationDefinitionSource" />
 </bean>
 <bean id="rdbmsFilterInvocationDefinitionSource" class="com.hengtian.security.RdbmsFilterInvocationDefinitionSource">
  <property name="dataSource" ref="dataSource" />
  <property name="webresdbCache" ref="webresCacheBackend" />
 </bean>
 
 <bean id="webresCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
  <property name="cacheManager" ref="cacheManager" />
  <property name="cacheName">
   <value>webresdbCache</value>
  </property>
 </bean>

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


2.aop实现方法过滤
如果不想对action,url等资源过滤,也可对调用方法过滤,实现特定角色只能实现特定方法。在applicationContext.xml中配置,注意这里是用BeanNameAutoProxyCreator实现aop的.
 
<bean id="serviceSecurityInterceptor"
  class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
  <property name="validateConfigAttributes" value="true" /> <property
  name="authenticationManager" ref="authenticationManager" /> <property
  name="accessDecisionManager" ref="accessDecisionManager" /> <property
  name="objectDefinitionSource"> <value>
  com.role.action.RoleAction.operateRole=ROLE_ADMIN </value> </property>
  </bean>
 

 <bean id="serviceSecurityInterceptor"
  class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
  <property name="validateConfigAttributes" value="true" />
  <property name="authenticationManager" ref="authenticationManager" />
  <property name="accessDecisionManager" ref="accessDecisionManager" />
  <property name="objectDefinitionSource" ref="rdbmsMethodDefinitionSource" />
 </bean>
 <bean id="rdbmsMethodDefinitionSource" class="com.hengtian.security.RdbmsMethodDefinitionSource">
  <property name="dataSource" ref="dataSource" />
  <property name="webresdbCache" ref="webresCacheBackend" />
 </bean>
 <bean id="webresCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
  <property name="cacheManager" ref="cacheManager" />
  <property name="cacheName">
   <value>webresdbCache</value>
  </property>
 </bean>

 <bean id="autoProxyCreator"
  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  <property name="interceptorNames">
   <list>
    <value>serviceSecurityInterceptor</value>
   </list>
  </property>
  <property name="beanNames">
   <list>
    <value>*Action</value>
   </list>
  </property>
 </bean>


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

相关推荐

    acegi安全框架简介

    Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全...

    Acegi安全框架简介及实用扩展

    Acegi安全框架简介及实用扩展,spring acegi 权限管理

    acegi安全框架例子

    本例将探讨Acegi安全框架的主要概念、核心组件以及如何在实际项目中进行配置和使用。 Acegi安全框架的核心功能包括: 1. **身份验证**:Acegi允许用户通过多种方式验证其身份,如用户名和密码、数字证书等。它...

    acegi 安全框架实例

    使用Acegi安全框架时,开发者需要在Spring配置文件中声明Acegi的相关组件,并定义安全策略。例如,可以定义哪些URL需要用户登录后才能访问,或者哪些操作只有特定角色的用户才能执行。此外,还需要定义认证源,如从...

    基于spring的Acegi安全框架认证与授权的分析及扩展.pdf

    ### 基于Spring的Acegi安全框架认证与授权的分析及扩展 #### 1. Acegi安全框架的概述 Acegi(后更名为Spring Security)是Spring框架中的一个子项目,专注于提供强大的安全功能,包括认证、授权以及保护web应用...

    基于Acegi安全框架的权限管理研究与实现.

    在使用Acegi安全框架进行权限管理时,主要涉及以下几个方面: 1. **认证管理器(Authentication Manager)**:负责验证用户的身份。Acegi提供了多种认证管理器,如`DaoAuthenticationProvider`、`...

    Acegi-spring安全框架

    Acegi-Spring安全框架是一个专为基于Spring的企业应用设计的安全框架,现在被称为Spring Security。它提供了声明式的安全访问控制,允许开发者在Spring容器中配置安全相关的Bean,利用Spring的依赖注入(IoC)和面向...

    Acegi框架介绍 acegi安全与认证

    【Acegi框架介绍 acegi安全与认证】 Acegi Security,现称为Spring Security,是一个强大的安全框架,主要用于基于Spring的企业级应用。它通过Spring的依赖注入(IoC)和面向切面编程(AOP)功能,提供了声明式的...

    使用Acegi作为基于Spring框架的WEB应用的安全框架

    Acegi Security,现已被Spring ...结合"acegi-sample.war"和"实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架.pdf",开发者可以更好地理解和掌握Acegi Security的使用方法,从而提升Web应用的安全性。

    实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架

    配置Acegi安全系统能够轻松地适用于复杂的安全需求。它既能应用于WEB应用也能应用于非WEB应用。在 本文的示例程序 里,我将演示如何将Acegi应用于WEB应用程序。通过这个例子详细介绍如何配置Acegi的各个组件,同时...

    Spring集成Acegi安全框架在J2EE中的应用

    Spring Framework是一个开发J2EE应用的优秀框架,Spring本身没有提供对系统安全方面的...使得系统的安全逻辑和业务逻辑完全分离,通过在Spring中引入Acegi安全框架不仅节省工作量,提高编码效率,同时提高代码质量。

    Acegi使用.pdf

    ### Acegi安全框架详解 #### 引言 Acegi安全框架是专为Spring框架设计的安全解决方案,它通过深度集成Spring的特性,提供了一套全面、灵活的安全管理方案。不同于传统的安全框架,Acegi采用了面向切面编程(AOP)...

    acegi安全策略与CAS整合

    文档的目的是确保用户能够成功地将AceGI安全框架集成到他们的应用程序中,利用CAS服务器进行单点登录(SSO)和身份验证,以提高系统的安全性。 0.2 文档范围: 此文档涵盖了从安装CAS服务器,配置AceGI安全策略,到...

    Spring+Acegi+ehcache安全框架常用jar包.rar

    在"Spring+Acegi+ehcache安全框架所用jar包"这个压缩包中,你可能会找到以下关键的库文件: 1. spring-context.jar:Spring的核心库,包含Bean管理和AOP支持。 2. spring-aop.jar:Spring的面向切面编程模块,用于...

    实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架.rar

    通过本实战教程,读者将学习到如何设置Acegi安全框架,创建自定义认证和授权逻辑,以及如何调试和优化安全配置,以确保Spring应用的安全性和稳定性。尽管Acegi已被Spring Security所取代,但其核心理念和使用方法在...

    基于Spring的安全框架Acegi在Web系统中的应用.pdf

    为了解决这一问题,Acegi安全框架作为一种基于Spring的安全架构被提出并广泛应用。 #### Acegi安全框架概述 Acegi安全框架是一个基于Spring Framework的安全管理框架,能够与主流的Web容器无缝集成。它利用Spring...

    实战Acegi_使用Acegi作为基于Spring框架的WEB应用的安全框架

    配置Acegi安全系统能够轻松地适用于复杂的安全需求。它既能应用于WEB应用也能应用于非WEB应用。在 本文的示例程序 里,我将演示如何将Acegi应用于WEB应用程序。通过这个例子详细介绍如何配置Acegi的各个组件,同时...

    acegi的使用

    Acegi 安全系统是一个专为基于 Spring 的应用设计的安全框架,它提供了全面的描述性安全保护。Acegi 使用 Servlet 过滤器来保护 Web 应用,通过身份认证和授权来确保系统的安全性。该框架利用了 Spring 框架的依赖...

Global site tag (gtag.js) - Google Analytics