`
weishuwei
  • 浏览: 326947 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

acegi中投票的概念

阅读更多

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 详细文档

    在本文中,我们将深入探讨Spring Acegi的核心概念、功能和使用方法。 首先,Acegi的主要目标是保护Spring应用免受非法访问,它提供了丰富的功能来实现用户认证、会话管理、权限控制以及安全相关的异常处理。Acegi的...

    权限Acegi的使用

    Acegi Security,现已被Spring Security所取代,是Java EE应用程序中的一个强大且灵活的权限管理框架。它提供了全面的身份验证、授权和访问控制功能,旨在确保企业级应用的安全性。Acegi通过AOP(面向切面编程)的...

    使用acegi控制用户权限实例

    首先,我们需要理解Acegi的基础概念。Acegi的核心是`Authentication`(认证)和`Authorization`(授权)。`Authentication`处理的是用户身份验证,即验证用户的身份是否合法;`Authorization`则是关于用户权限的检查...

    acegi-security源码包

    Acegi Security提供了多种决策策略,如投票器(Voter)模式,允许开发者自定义投票规则。 3. **AuthorizationService**: 授权服务负责执行权限检查,通常与访问决策管理器配合工作。Acegi Security提供了基于角色的...

    Acegi学习笔记--Acegi详解实战Acegi实例

    一、Acegi的基本概念 1. **认证(Authentication)**:确定用户身份的过程,如用户名和密码的验证。 2. **授权(Authorization)**:确定已认证的用户是否有权限执行特定操作的过程。 二、Acegi的核心组件 1. **...

    acegi应用安全J2EE安全

    2. **授权(Authorization)**:Acegi Security采用访问控制表达式(ACE)和访问决策投票器(AccessDecisionVoter)来实现细粒度的权限控制。你可以定义角色、权限,并通过注解或配置文件来指定哪些用户或角色可以...

    Spring ACEGI手册(部份)

    在Spring MVC环境中,Spring ACEGI可以通过配置XML或使用注解来集成。它可以与Spring MVC的控制器一起工作,为每个受保护的URL提供安全控制。 **使用示例** 在XML配置中,你可以定义访问控制规则,如下: ```xml ...

    acegisecurity-1.0.7.zip_.acegisecuri_acegi security 1.0.7_acegi

    在本文中,我们将深入探讨Acegi Security 1.0.7版本中的核心概念和关键特性。 首先,我们要了解Acegi Security的核心目标是权限管理。在企业级应用中,确保用户访问权限的安全性和可控性至关重要。Acegi Security...

    Acegi 概述

    Acegi提供了投票器(Voter)的概念,每个投票器根据不同的规则对访问请求进行投票,多数投票器同意则允许访问。此外,还可以通过表达式语言(ACE)定义访问控制规则,如`hasRole('ROLE_ADMIN')`或`...

    acegi实例,acegi详细配置和代码实现

    首先,让我们理解Acegi Security的核心概念。该框架提供了一种基于角色的访问控制(RBAC)机制,允许开发人员定义用户权限并限制对特定资源的访问。它主要由以下几个关键组件组成: 1. **Authentication**:身份...

    acegi学习指南以及例子

    在本文中,我们将深入探讨Acegi的学习指南,通过实例来理解其核心概念和功能。 首先,我们需要了解Acegi的基础概念。Acegi的核心组件包括SecurityContext、Authentication、Authorization和FilterChainProxy。...

    acegi实现用户权限

    在这个主题中,我们将深入探讨Acegi Security的核心概念、配置以及如何在实际项目中应用。 首先,Acegi Security提供了身份验证(Authentication)和授权(Authorization)两大功能。身份验证是确认用户的身份,而...

    Spring Acegi(2)

    本文将深入探讨Spring Acegi的核心概念和使用方法。 首先,Spring Acegi是Spring框架的一个扩展,它通过与Spring IoC容器的集成,使得安全控制能够无缝地融入到Spring应用中。Acegi提供了一套灵活且强大的API,用于...

    Acegi(四):Acegi初体验及初解剖

    总的来说,这篇博客将提供一个全面的视角,从新手入门到深入源码,帮助读者理解Acegi的安全机制,并具备在Spring应用中实施安全控制的能力。虽然Acegi已经不再是最新的解决方案,但它背后的原理和实践仍然对理解现代...

    使用 Acegi 保护 Java 应用程序: 续一

    在这个"使用 Acegi 保护 Java 应用程序:续一"的主题中,我们将深入探讨 Acegi 的核心概念和如何将其集成到你的项目中。 首先,Acegi 提供了一种基于角色的访问控制(RBAC)模型,允许你为不同的用户分配不同的角色...

    Acegi学习

    在本文中,我们将深入探讨Acegi的核心概念、功能以及如何在实际项目中应用它。 首先,我们需要理解Acegi的核心理念。Acegi提供了一种基于Spring的声明式安全机制,允许开发者在不直接处理安全代码的情况下实现用户...

    acegi实例

    1. **权限模型**:Acegi基于`Authentication`和`Authorization`的概念。`Authentication`处理用户身份验证,即确认用户是谁;`Authorization`处理权限验证,决定用户是否被授权执行某个操作。Acegi使用`Principal`...

    Java安全模型acegi

    2. 授权:Acegi通过访问决策管理器和访问决策投票器实现细粒度的授权。它可以基于角色、URL、方法或者自定义属性来控制访问权限。 3. 会话管理:Acegi可以管理用户的会话,防止会话劫持和会话固定攻击。它支持会话...

    动态实现基于角色的权限管理(Acegi+hibernate )

    Acegi的核心概念包括:安全上下文、访问决策管理器、安全拦截器等。 2. **基于角色的权限管理(RBAC)** RBAC模型是权限管理的一种常见方法,它将权限与角色关联,角色再分配给用户。这种模型使得权限管理更加简洁...

Global site tag (gtag.js) - Google Analytics