`
FengShen_Xia
  • 浏览: 279414 次
  • 性别: Icon_minigender_1
  • 来自: 东方水城
社区版块
存档分类
最新评论

Spring Security 学习总结1_3

阅读更多

 

与认证管理器类似,访问决策管理器也不是由自己来实现访问控制的,而是通过一组投票者 来投票决定(通过调用投票者vote 方法),访问决策管理器统计投票结果并最终完成决策工作。下表列出了系统提供的3个访问决策管理器的实现:

访问 决策管理器

如 何 决 策

AffirmativeBased

当至少有一个投票者投允 许访问 许访问

ConsensusBased

当所有投票者都投允 许访问 许访问

UnanimousBased

当没有投票者投拒 绝访问 许访问

decisionVoters 属性为 访问决策管理器定义了一组进行投票工作的投票者,那么这些投票者是如何进行投票的呢?这就需要提org.springframework.security.vote. AccessDecisionVoter 接口,所有的投票者都实现了这个接口并实现了其中的vote方法。该接口中还定义了3个int类型的常量:

int ACCESS_GRANTED = 1 ; 投赞成票

int ACCESS_ABSTAIN = 0 ; 投弃权票

int ACCESS_DENIED = -1 ; 投反对票

每个决策投票者都返回这3个常量中一个,这取决与用户是否有权限访问当前请求的资源,访问决策管理器再对这些投票结果进行统计。认证投票者的配置如上面所示。

loggerListener 是一个可选项,它和我们前面配置的Bean或者过滤器没有关系,只是监听系统的一些事件(
实现了ApplicationListener 监听接口),被它监听的事件包括AuthenticationCredentialsNotFoundEvent 事件,AuthorizationFailureEvent 事件,AuthorizedEvent 事件,PublicInvocationEvent 事件,相信你从他们的名字就能看出来是一些什么样的事件,除非你的e文比我还差劲。loggerListener配置如下:

<!---->1  < bean  id ="loggerListener"  class ="org.springframework.security.event.authentication.LoggerListener" />

到此,本例所涉及到的所有配置都介绍完了,在下一篇中会介绍方法安全拦截器,以及如何使用它来保护我们的方法调用,以及前面提到过的会在下一篇中介绍的,这里不在一一列出。

接下来就是JSP页面了,首先是login.jsp:

<!----> 1  < c:if  test ="${not empty param.login_error}" >
 2      登录失败,请重试。错误原因: < br />
 3       < font  color ="red" >
 4           < c:if  test ="${not empty SPRING_SECURITY_LAST_EXCEPTION}" >
 5               < c:out  value ="${SPRING_SECURITY_LAST_EXCEPTION}" ></ c:out >
 6           </ c:if >
 7       </ font >
 8  </ c:if >
 9  < form  action ="<c:url value=" /j_spring_security_check" /> " method="post">
10       < table >
11           < tr >
12               < td >< label  for ="username" > username: </ label ></ td >
13               < td >< input  type ="text"  id ="username"  name ="j_username"
                    value
="<c:out value=" ${SPRING_SECURITY_LAST_USERNAME}" /> "/> </ td >

14           </ tr >
15           < tr >
16               < td >< label  for ="password" > password: </ label ></ td >
17               < td >< input  type ="password"  id ="password"  name ="j_password"  value ="" /></ td >
18           </ tr >
19           < tr >< td ></ td >
20               < td >< input  type ="checkbox"  name ="_spring_security_remember_me" > 两周内记住我 </ td >
21           </ tr >
22           < tr >< td  colspan ="2" >< input  type ="submit"  value ="提交" />
23           < input  type ="reset"  value ="重置" /></ td ></ tr >
24       </ table >
25  </ form >

如果你有看源代码,上面的某些参数,以及本文所有提及的东西你都不应该感到陌生。其它页面也不在列出了,还有就是如何让它运行起来,这些我相信你都能自己搞定。

分享到:
评论

相关推荐

    Spring Security学习总结2_2

    在“Spring Security学习总结2_2”中,我们可能涉及了对Spring Security更深入的探讨,特别是关于其核心概念和实际应用的细节。 首先,Spring Security的核心组件包括Security Context(安全上下文)、...

    SpringSecurity学习总结源代码

    1. **Filter Security Interceptor**:这是SpringSecurity的主要过滤器,负责检查请求并决定是否允许访问。它会根据预定义的访问控制规则进行判断。 2. **Authentication Manager**:处理用户认证的组件,可以使用...

    spring security 学习总结文档

    【Spring Security 学习总结】 Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于保护基于 Java 的应用程序。本学习总结文档主要针对初学者,旨在剖析一个不安全的应用程序并阐述如何通过 ...

    SpringSecurity学习总结一.pdf

    SpringSecurity学习总结一.pdf

    Spring Security学习总结

    在"Spring Security学习总结一(补命名空间配置)"的文件中,可能涵盖了如何在Spring Security的XML配置中补充命名空间的步骤。命名空间的引入是为了简化配置,例如`&lt;http&gt;`元素用于配置安全拦截和访问规则,`...

    Spring_Security3_源码分析

    总结,Spring Security 3的源码分析是一个深度学习的过程,涵盖了安全领域的多个方面。通过理解其内部工作机制,开发者可以更好地利用这一强大的框架,为应用程序提供安全的保障。同时,源码分析也能帮助开发者解决...

    REST-spring-security.rar_java rest_java security_rest_rest secu

    总结来说,"REST-spring-security"项目展示了如何使用Spring Security来保护RESTful Web服务,包括身份验证、授权、访问控制和安全配置。这个项目可以帮助开发者理解如何在实际应用中实现安全的REST API,确保服务的...

    Spring_Security_学习总结

    ### Spring Security 学习总结 #### 一、Spring Security 概述 Spring Security 是一个功能强大的安全框架,它为基于 Java 的应用程序提供了认证(authentication)和授权(authorization)功能。在 Spring ...

    spring security 3.1学习资料 及 附件下载

    《Spring Security 3.1 学习指南及资源解析》 Spring Security是Java平台上的一款强大且高度可定制的安全框架,广泛应用于企业级Web应用的安全管理。本篇文章将围绕"Spring Security 3.1"这一主题,深入探讨其核心...

    spring Security3中文教程,经典的

    ### Spring Security3中文教程知识点概览 #### 一、安全核心概念与起步 Spring Security是Spring框架中的一个重要组成部分,主要用于为Web应用提供安全防护。它不仅提供了强大的认证和授权功能,还支持各种加密...

    Spring Security3 Demo

    在"SpringSecurity2Demo"这个项目中,我们可以预期看到以下组成部分: 1. **配置文件**: `spring-security.xml`,这是Spring Security的核心配置文件,包含了过滤器链的配置、用户认证源、授权规则等。 2. **控制...

    精彩:Spring Security 演讲PPT

    ### Spring Security 概述与应用实践 #### 一、引言 在当今互联网时代,网络安全问题日益凸显,尤其是Web应用程序的...同时,结合实际案例的学习,能够帮助我们更好地理解和掌握Spring Security的核心概念与使用技巧。

    Spring_Security_官方文档

    对于初学者,建议从官方文档或教程开始学习,逐步熟悉Spring Security的安装、配置和使用流程。 #### Security命名空间配置 Spring Security通过XML命名空间简化了安全相关的配置。这部分文档详细介绍了如何使用...

    Spring Security3中文文档

    Spring Security3中文文档全面而深入地覆盖了Spring Security3的各个方面,从基础知识到高级特性,从理论到实践,都是开发者学习和应用Spring Security3不可或缺的资源。通过阅读和理解这些文档,开发者可以更好地...

Global site tag (gtag.js) - Google Analytics