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

spring security2配置文件学习小结

 
阅读更多

内容 转自 spring security2配置文件学习小结

 

1.applicationContext-security的配置 
使用命名空间,主要分为3个部分: 
a. <http>注册过滤器链,配置表单登陆,注销等 
b. 注册自定义的安全认证管理器 
c. 注册自定义的授权过滤器 

2.<http> 
a. <http>元素会创建一个FilterChainProxy和filter使用的bean。以前常常出现的因为filter顺序不正确产生的问题不会再出现了,现在这些过滤器的位置都是预定义好的。 
b. auto-config = true(默认为false) 
== 
<http> 
    <intercept-url pattern="/**" access="ROLE_USER" /> 
    <form-login /> 
    <anonymous /> 
    <http-basic /> 
    <logout /> 
    <remember-me /> 
</http> 
c. access-decision-manager-ref属性可以自定义的访问策略管理器。当系统角色名的前缀不是默认的ROLE_时,需要自定义访问策略管理器。例如: 

<!-- 访问投票管理 -->
 <b:bean id="accessDecisionManager" class="org.springframework.security.vote.AffirmativeBased">
  <b:property name="decisionVoters">
   <b:list>
    <b:bean class="org.springframework.security.vote.RoleVoter">
     <b:property name="rolePrefix" value="" />
    </b:bean>
   </b:list>
  </b:property>
 </b:bean>

 


3.安全认证 
a. <authentication-manager alias="XX"/>为AuthenticationManager注册一个别名,然后你可以application context的其他地方使用这个名字 
b. <authentication-provider>元素会创建一个DaoAuthenticationProvider bean;一个ProviderManager bean通常是由命名空间过程系统创建的, DaoAuthenticationProvider自动注册到它上面 
c. <user-service>元素会创建一个InMemoryDaoImpl。 
d. 使用<custom-authentication-provider>元素可以为ProviderManager注册另外的AuthenticationProvider bean 

4.http/intercept-url 
a. <intercept-url pattern="/XX" access="ROLE_XXX" />定义了对某个资源的访问需要某个角色的权限 
b. 对于在http/intercept-url中没有进行定义的URL,将会默认使用系统内置的过滤器链进行权限认证(就是说无须认证和授权就能访问了); 
c. 若使用了pattern="/*" 则一般情况下要配置匿名认证过滤器--登陆页面也被保护的话则会陷入死循环中. 
d. 由于一般情况下资源对应的权限都配置在数据库的资源权限表中,所以这个元素一般情况下没用 
e. 如果数据库中的资源权限表中不存在该资源记录,那么匿名认证过滤器实际上时不需要的. 

5.<security:custom-filter> 
a. <security:custom-filter position="XXX"/>会使用自定义的过滤器替换(position)某个过滤器,但是有3个不能替换:HttpSessionContextIntegrationFilter, ExceptionTranslationFilter, FilterSecurityInterceptor.但是可以使用before或after 
b. 除了使用position外,还可以使用before,after加入自定义的过滤器,还有的关键字包括first,last代表这个过滤器链的头和尾 

6.数据库的资源权限表中应该只保存.action的记录,把所有受保护的jsp页面放到/WEB-INF文件夹下,外部的用户就无法访问了,/WEB-INF下的JSP只能通过Servlet的转发访问。

分享到:
评论

相关推荐

    spring security 配置文件小结(逐步深化到url级别)

    在本文中,我们将深入探讨Spring Security的配置文件小结,逐步深化到URL级别的保护。 首先,我们需要理解Spring Security的核心组件。这些包括`WebSecurityConfigurerAdapter`,这是自定义安全配置的主要入口点;`...

    SpringSecurity学习总结源代码

    在"springsecurity.rar"文件中,可能包含了SpringSecurity的示例代码或项目模板。这些代码可能涉及到以下关键组件: 1. **Filter Security Interceptor**:这是SpringSecurity的主要过滤器,负责检查请求并决定是否...

    spring security3配置和使用实例+教程

    `security_3`可能是一个包含Spring Security配置文件、Java类和其他相关资源的目录。这些类可能包括自定义的认证和授权类,如实现`UserDetailsService`接口的类,以便从数据库加载用户信息。 教程文档`教你使用_...

    Spring Security学习总结一

    ### Spring Security 学习总结与应用实践 #### 引言 在深入了解Spring Security之前,我们需要认识到,传统的权限验证逻辑往往杂糅于业务逻辑之中,这种混合不仅使得代码难以维护,而且降低了系统的整体效率。每当...

    spring security xml方式配置

    在项目`SpringSecurityCusotmLoginFormXmlExample`中,你可以找到这些配置的具体实现,包括Spring Security的XML配置文件、自定义登录表单以及与Spring MVC的整合示例。通过分析和学习这个示例,你可以更好地理解...

    精彩:Spring Security 演讲PPT

    3. **定义安全规则**: 在Spring Security配置文件中定义具体的认证和授权规则,如使用数据库存储用户信息、使用自定义登录页面等。 #### 四、Spring Security 2.x 概览 Spring Security 2.x不仅提供了强大的功能...

    Spring Security2配置精讲

    ### Spring Security2配置精讲 #### 一、Spring Security2简介与配置简化 Spring Security2是Spring框架中的一个重要模块,用于提供安全控制解决方案。相比于前代Acegi安全框架,Spring Security2进行了重大改进,...

    SpringBoot+SpringSecurity+WebSocket

    总结来说,这个项目演示了如何在SpringBoot环境中,利用SpringSecurity保证安全性,结合WebSocket实现高效、实时的双向通信。这样的架构对于需要实时交互的Web应用,如在线聊天、实时股票交易、游戏等场景非常适用。...

    spring-security多登录页面配置

    从给定的部分内容来看,我们可以看到这是一个Spring Security的配置文件,使用了Spring Security的XML命名空间。下面是一个示例性的配置片段: ```xml &lt;!-- 允许访问登录页面 --&gt; &lt;!-- 静态资源不受保护 -...

    spring security 使用及配置

    Spring Security 的配置主要包括三个方面:Web.xml、 Spring 配置文件和数据库配置。在 Web.xml 文件中需要配置 Spring Security 的 Filter 和 Listener。在 Spring 配置文件中需要配置安全相关的 bean。数据库配置...

    spring security 学习总结文档

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

    spring Security3中文教程,经典的

    - **使用Spring Security的XML配置文件**:通过XML配置文件来指定Spring Security的规则和策略,如认证管理器、权限管理器、过滤器链等。 - **添加Spring DelegatingFilterProxy到web.xml文件**:这是将Spring ...

    Spring Security3.1最新配置实例

    3. **配置Spring Security核心组件**:创建一个名为`security-config.xml`的配置文件,定义过滤器链、认证和授权规则。例如,使用`http`元素来定义URL匹配规则,`form-login`和`logout`元素配置登录和登出行为。 4....

    spring security配置实例

    通过对数据库结构的设计以及Spring Security配置文件的编写,可以实现一个基于角色的权限管理系统。这种系统能够有效地管理和控制不同用户对系统资源的访问权限,从而提高系统的安全性。开发者可以根据实际需求调整...

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

    而"Spring Security 3.1.zip"文件可能包含了示例代码或额外的教程资源,用于辅助学习和实践。 总结,Spring Security 3.1作为一款强大的安全框架,虽然版本较旧,但仍值得开发者深入研究。通过学习和实践,我们可以...

    spring security3配置

    #### 三、配置文件详解 ##### 3. applicationContext_security.xml配置 Spring Security的配置通常放在`applicationContext_security.xml`文件中,该文件包含了Spring Security的核心配置信息。 ```xml ...

    Spring Security3 Demo

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

    spring-security多个登录页面配置

    本文将详细介绍如何通过Spring Security配置多个登录页面,并为不同类型的用户设置不同的登录逻辑及登出后的返回界面。这不仅有助于提高系统的安全性,还能优化用户体验。 ### Spring Security简介 Spring ...

Global site tag (gtag.js) - Google Analytics