Acegi中投票策略分为三种
1:[b][b]org.acegisecurity.vote.AffirmativeBased
[/b][/b]只要有一票投赞成,即可通过
2:[b][b]org.acegisecurity.vote.ConsensusBased[/b][/b]
需要大多数的投票,方可通过
3:[b][b]org.acegisecurity.vote.UnanimousBased[/b][/b]
以上摘自一位道友的,以下是个人的一些体会:
感觉acegi定义个投票策略,就是为了指定在上面的objectDefinitionSource里配置的权限的处理方式:
1,用户属于其中一个权限组即通过认证;
2,用户必须符合所用的用户组;
3,弃权票的处理方式;
应用,首先我们来看一下acegi自带的例子
[bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor"]
[property name="authenticationManager" ref="authenticationManager"/]
[property name="accessDecisionManager"]
[bean class="org.acegisecurity.vote.AffirmativeBased"]
[property name="allowIfAllAbstainDecisions" value="false"/]
[property name="decisionVoters"]
[list]
[bean class="org.acegisecurity.vote.RoleVoter"/]
[bean class="org.acegisecurity.vote.AuthenticatedVoter"/]
[/list]
[/property]
[/bean]
[/property]
[property name="objectDefinitionSource"]
[value]
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/secure/extreme/**=ROLE_SUPERVISOR
/secure/**=IS_AUTHENTICATED_REMEMBERED
/**=IS_AUTHENTICATED_ANONYMOUSLY
[/value]
[/property]
[/bean]
这里采用的投票策略是org.acegisecurity.vote.AffirmativeBased,及只有有一票赞成就通过
分享到:
相关推荐
在本文中,我们将深入探讨Spring Acegi的核心概念、功能和使用方法。 首先,Acegi的主要目标是保护Spring应用免受非法访问,它提供了丰富的功能来实现用户认证、会话管理、权限控制以及安全相关的异常处理。Acegi的...
Acegi Security,现已被Spring Security所取代,是Java EE应用程序中的一个强大且灵活的权限管理框架。它提供了全面的身份验证、授权和访问控制功能,旨在确保企业级应用的安全性。Acegi通过AOP(面向切面编程)的...
首先,我们需要理解Acegi的基础概念。Acegi的核心是`Authentication`(认证)和`Authorization`(授权)。`Authentication`处理的是用户身份验证,即验证用户的身份是否合法;`Authorization`则是关于用户权限的检查...
Acegi Security提供了多种决策策略,如投票器(Voter)模式,允许开发者自定义投票规则。 3. **AuthorizationService**: 授权服务负责执行权限检查,通常与访问决策管理器配合工作。Acegi Security提供了基于角色的...
一、Acegi的基本概念 1. **认证(Authentication)**:确定用户身份的过程,如用户名和密码的验证。 2. **授权(Authorization)**:确定已认证的用户是否有权限执行特定操作的过程。 二、Acegi的核心组件 1. **...
2. **授权(Authorization)**:Acegi Security采用访问控制表达式(ACE)和访问决策投票器(AccessDecisionVoter)来实现细粒度的权限控制。你可以定义角色、权限,并通过注解或配置文件来指定哪些用户或角色可以...
在Spring MVC环境中,Spring ACEGI可以通过配置XML或使用注解来集成。它可以与Spring MVC的控制器一起工作,为每个受保护的URL提供安全控制。 **使用示例** 在XML配置中,你可以定义访问控制规则,如下: ```xml ...
在本文中,我们将深入探讨Acegi Security 1.0.7版本中的核心概念和关键特性。 首先,我们要了解Acegi Security的核心目标是权限管理。在企业级应用中,确保用户访问权限的安全性和可控性至关重要。Acegi Security...
Acegi提供了投票器(Voter)的概念,每个投票器根据不同的规则对访问请求进行投票,多数投票器同意则允许访问。此外,还可以通过表达式语言(ACE)定义访问控制规则,如`hasRole('ROLE_ADMIN')`或`...
首先,让我们理解Acegi Security的核心概念。该框架提供了一种基于角色的访问控制(RBAC)机制,允许开发人员定义用户权限并限制对特定资源的访问。它主要由以下几个关键组件组成: 1. **Authentication**:身份...
在本文中,我们将深入探讨Acegi的学习指南,通过实例来理解其核心概念和功能。 首先,我们需要了解Acegi的基础概念。Acegi的核心组件包括SecurityContext、Authentication、Authorization和FilterChainProxy。...
在这个主题中,我们将深入探讨Acegi Security的核心概念、配置以及如何在实际项目中应用。 首先,Acegi Security提供了身份验证(Authentication)和授权(Authorization)两大功能。身份验证是确认用户的身份,而...
本文将深入探讨Spring Acegi的核心概念和使用方法。 首先,Spring Acegi是Spring框架的一个扩展,它通过与Spring IoC容器的集成,使得安全控制能够无缝地融入到Spring应用中。Acegi提供了一套灵活且强大的API,用于...
总的来说,这篇博客将提供一个全面的视角,从新手入门到深入源码,帮助读者理解Acegi的安全机制,并具备在Spring应用中实施安全控制的能力。虽然Acegi已经不再是最新的解决方案,但它背后的原理和实践仍然对理解现代...
在这个"使用 Acegi 保护 Java 应用程序:续一"的主题中,我们将深入探讨 Acegi 的核心概念和如何将其集成到你的项目中。 首先,Acegi 提供了一种基于角色的访问控制(RBAC)模型,允许你为不同的用户分配不同的角色...
在本文中,我们将深入探讨Acegi的核心概念、功能以及如何在实际项目中应用它。 首先,我们需要理解Acegi的核心理念。Acegi提供了一种基于Spring的声明式安全机制,允许开发者在不直接处理安全代码的情况下实现用户...
1. **权限模型**:Acegi基于`Authentication`和`Authorization`的概念。`Authentication`处理用户身份验证,即确认用户是谁;`Authorization`处理权限验证,决定用户是否被授权执行某个操作。Acegi使用`Principal`...
2. 授权:Acegi通过访问决策管理器和访问决策投票器实现细粒度的授权。它可以基于角色、URL、方法或者自定义属性来控制访问权限。 3. 会话管理:Acegi可以管理用户的会话,防止会话劫持和会话固定攻击。它支持会话...
Acegi的核心概念包括:安全上下文、访问决策管理器、安全拦截器等。 2. **基于角色的权限管理(RBAC)** RBAC模型是权限管理的一种常见方法,它将权限与角色关联,角色再分配给用户。这种模型使得权限管理更加简洁...