`

请教Acegi的投票策略问题

阅读更多
   Acegi对用户的权限使用投票策略,投票的结果返回以int类型返回,分别是AccessDecisionVoter三个静态变量ACCESS_ABSTAIN,,ACCESS_DENIED和ACCESS_GRANTED,也即弃权,拒绝,同意。
   
   在网上找到了一个资料说明三者分别的返回条件:

引用

    RoleVoter类是一个Acegi安全系统AccessDecisionVoter接口的实现。如果ConfigAttribute以ROLE_开头,RoleVoter则进行投票。如果GrantedAuthority的getAutority方法的String返回值匹配一个或多个以ROLE_开头的ConfigAttribute,则投票通过,否则不通过。如果没有以ROLE_开头的ConfigAttribute,RoleVoter则弃权。

   可是看起来,不通过和弃权是一样的,不知道如何区分这两者的不同,请知道的前辈指点一下,谢谢!
分享到:
评论
2 楼 温柔一刀 2006-10-10  
stamen 写道
   Acegi对用户的权限使用投票策略,投票的结果返回以int类型返回,分别是AccessDecisionVoter三个静态变量ACCESS_ABSTAIN,,ACCESS_DENIED和ACCESS_GRANTED,也即弃权,拒绝,同意。
   
   在网上找到了一个资料说明三者分别的返回条件:

引用

    RoleVoter类是一个Acegi安全系统AccessDecisionVoter接口的实现。如果ConfigAttribute以ROLE_开头,RoleVoter则进行投票。如果GrantedAuthority的getAutority方法的String返回值匹配一个或多个以ROLE_开头的ConfigAttribute,则投票通过,否则不通过。如果没有以ROLE_开头的ConfigAttribute,RoleVoter则弃权。

   可是看起来,不通过和弃权是一样的,不知道如何区分这两者的不同,请知道的前辈指点一下,谢谢!


投票拒绝代表投票者的立场是拒绝访问

弃权(默认是拒绝访问)可以设置为可以访问(即默许)
1 楼 badqiu 2006-10-10  
引用
GrantedAuthority的getAutority方法的String返回值匹配一个或多个以ROLE_开头的ConfigAttribute,则投票通过,否则不通过。

这句话有误,以ROLE_开头只是应用自定义一规则,作为是否需要进行投票判断的一个规则,不匹配的话根本就没有进行任何投票操作

而ACCESS_ABSTAIN,,ACCESS_DENIED和ACCESS_GRANTED的作用就看
ConsensusBased,UnanimousBased,AffirmativeBased几个类的描述

相关推荐

    acegi安全策略与CAS整合

    AceGI安全策略与CAS(Central Authentication Service)整合是企业级应用中常见的安全解决方案,它能够为Web应用程序提供统一的身份验证和授权服务。本文档旨在详细阐述这一整合过程,包括配置步骤、所需资源以及...

    acegi

    - **会话管理(Session Management)**: Acegi 可以监控和管理用户的会话,防止会话劫持、会话固定等安全问题。 - **过滤器链(Filter Chain)**:Acegi 使用过滤器链来拦截请求,执行安全检查,这是其实现安全...

    Acegi解决权限问题

    在本文中,我们将深入探讨Acegi如何解决权限问题,并通过分析提供的代码、文档和配置文件,来理解其实现机制。 首先,Acegi的核心功能是提供细粒度的访问控制,允许开发者对应用中的资源(如URL、方法、对象等)...

    spring acegi 详细文档

    如果你手头有Acegi的详细文档,如acegi.docx和Acegi.zip中的内容,这将是一个宝贵的资源,帮助你深入理解和解决问题。 总结起来,Spring Acegi是一个强大的安全框架,它的功能包括用户认证、权限控制和安全拦截。...

    Acegi-spring安全框架

    3. 领域对象的访问控制:除了控制方法调用,Acegi还能确保操作的对象(如领域模型中的实例)符合安全策略。例如,用户只能修改自己的信息,而不能修改其他用户的信息。 Acegi的体系结构由两个主要组件构成: 1. ...

    基于java的ACEGI

    5. **测试和调试**:在实际运行环境中测试安全功能,确保用户权限设置正确,并使用Acegi提供的日志和调试工具进行问题排查。 6. **处理异常**:配置Acegi的异常处理机制,当用户尝试访问未授权的资源或认证失败时,...

    ACEGI

    使用Acegi Security,开发者可以构建出符合企业级需求的安全系统,同时避免了因更换服务器环境而需要大量重构安全配置的问题。对于熟悉Spring,特别是依赖注入原则的开发者来说,掌握Acegi Security将变得更加容易。...

    Acegi 数据库配置安全策略 源代码及图解

    1. **Acegi安全框架**:Acegi是Spring的一个扩展,主要用于处理认证和授权问题,提供了一种声明式的安全控制方式。通过Acegi,开发者可以在控制器、服务层或者DAO层添加安全控制,无需在每个方法中手动检查权限。 2...

    acegi-security源码包

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

    Acegi框架介绍 acegi安全与认证

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

    Acegi例子代码+一个很好的学习Acegi的网址

    这个网站可能包含了详细的教程、示例代码和常见问题解答,帮助你快速上手Acegi。 如果你在学习过程中遇到任何问题,可以通过邮件`heroshen@126.com`与作者讨论,这是一个很好的获取帮助和支持的途径。 总结一下,...

    Spring Acegi权限控制

    Acegi Security(现已被Spring Security替代)是一个功能强大的安全框架,它主要解决了认证(Authentication)和授权(Authorization)这两个核心的安全问题。 首先,让我们理解认证和授权的基本概念: - **认证**...

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

    Acegi是一个专门为SpringFramework应用提供安全机制的开放源代码项目,全称为Acegi Security System for Spring,当前版本为 0.8.3。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和...

    spring acegi 使用工程demo

    5. **AcegiExample**:这可能是项目的主要代码或配置文件,包含Acegi的配置示例,例如自定义的`AuthenticationProvider`实现,或者展示了如何定义访问控制策略的XML配置。 6. **jar.GIF 和 result.GIF**:这些可能...

    Acegi使用.pdf

    不同于传统的安全框架,Acegi采用了面向切面编程(AOP)的方式来处理认证和授权问题,这使得它能够与业务代码保持高度的解耦,同时也赋予了开发人员更多的灵活性来定制安全策略。本文将深入探讨Acegi的关键组件、...

    权限Acegi的使用

    Acegi允许通过定义安全表达式、访问决策管理器和访问决策投票器来进行细粒度的授权控制。 3. **安全拦截**:Acegi利用Spring的AOP框架来实现对方法调用和URL访问的拦截。你可以定义安全拦截规则,例如,只有特定...

    Acegi学习笔记(JAVA系统安全编程时用到)

    在 `acegi-config.xml` 文件中,你可以定义认证和授权策略,比如用户存储(UserDetailsService)、认证管理器(AuthenticationManager)和权限访问决策器(AccessDecisionManager)。 Acegi 还提供了许多预定义的...

    使用acegi控制用户权限实例

    - Acegi支持多种授权策略,如基于角色的访问控制(RBAC)、表达式语言等。 - 一旦决定允许或拒绝访问,Acegi将相应地修改请求的流程。 在实际应用中,我们可能需要配置Acegi以适应我们的需求。这包括设置认证提供...

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

    Acegi Security基于Spring AOP(面向切面编程)原理,允许开发者通过声明式的方式定义安全策略,无需编写大量的安全代码。它主要由以下组件组成: 1. **AuthenticationManager**: 负责用户身份验证,包括用户名和...

Global site tag (gtag.js) - Google Analytics