`
jie66989
  • 浏览: 254467 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

spring security3笔记

阅读更多
web.xml中添加security过滤器
<filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>

    <filter-mapping>
      <filter-name>springSecurityFilterChain</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>


配置security.xml
<http pattern="/403.jsp" security="none"/>
    <http pattern="/login.jsp" security="none"/>
    <http access-denied-page="/403.jsp"><!-- 当访问被拒绝时,会转到403.jsp -->
<form-login login-page="/login.jsp"
authentication-failure-url="/login.jsp?error=true"
default-target-url="/index.jsp" /><!-- 登录成功跳转到index.jsp -->
<logout logout-success-url="/login.jsp" />
<http-basic />
<!--
增加一个filter,这点与Acegi是不一样的,不能修改默认的filter了,这个filter位于FILTER_SECURITY_INTERCEPTOR之前
-->
<custom-filter before="FILTER_SECURITY_INTERCEPTOR" ref="myFilter" />
</http>
<!-- 配置过滤器 --> 
    <beans:bean id="myFilter" class="com.ss3.MySecurityFilter"> 
        <!-- 用户拥有的权限 --> 
        <beans:property name="authenticationManager" ref="myAuthenticationManager" /> 
        <!-- 用户是否拥有所请求资源的权限 --> 
        <beans:property name="accessDecisionManager" ref="myAccessDecisionManager" /> 
        <!-- 资源与权限对应关系 --> 
        <beans:property name="securityMetadataSource" ref="mySecurityMetadataSource" /> 
    </beans:bean> 
   
    <!-- 实现了UserDetailsService的Bean --> 
    <authentication-manager alias="myAuthenticationManager"> 
        <authentication-provider user-service-ref="myUserDetailServiceImpl">
        <password-encoder ref="passwordEncoder"><!-- md5加密:http://www.51240.com/md5jiami/ -->
        <!--<salt-source user-property="username" />-->
</password-encoder>
        </authentication-provider> 
    </authentication-manager> 
    <beans:bean id="myAccessDecisionManager" class="com.ss3.MyAccessDecisionManagerImpl"></beans:bean> 
    <beans:bean id="mySecurityMetadataSource" class="com.ss3.MySecurityMetadataSourceImpl"> 
    </beans:bean> 
    <beans:bean id="myUserDetailServiceImpl" class="com.ss3.MyUserDetailServiceImpl">
    </beans:bean>
   
    <!-- 用户的密码加密或解密 -->
<beans:bean id="passwordEncoder"
class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" />

spring security框架加载流程
1.加载资源文件为一个map集合key为数据库中设置的请求的url,value为一个拥有这个url访问权限的用户角色的集合,如果资源文件没有值,则不进行任何拦截
2.客户端请求url,首先判断是否登录,没有登录返回错误
3.根据请求的url找到此url对应的访问角色集合,与当前用户的角色进行对比,查看当前用户是否有访问权限,没有权限的抛出异常,程序拦截并返回指定的页面,匹配正确返回页面

另外部分jar包在 http://jie66989.iteye.com/blog/1704769
分享到:
评论

相关推荐

    springsecurity学习笔记

    在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...

    SpringSecurity笔记,编程不良人笔记

    3. **SpringBoot整合SpringSecurity** - `spring-boot-starter-security`依赖:SpringBoot项目中添加此依赖即可自动配置SpringSecurity。 - 自定义登录页面:通过设置`loginPage`和`loginProcessingUrl`属性,可以...

    Spring Security 资料合集

    这三份资料——"实战Spring Security 3.x.pdf"、"Spring Security 3.pdf" 和 "Spring Security使用手册.pdf" 将深入探讨这些概念,并提供实践指导,帮助读者掌握如何在实际项目中应用Spring Security。通过学习这些...

    Spring Security笔记.rar

    本笔记将深入探讨Spring Security的核心概念、配置以及如何在实际项目中应用。 一、Spring Security核心概念 1. **身份验证(Authentication)**:这是验证用户身份的过程。Spring Security提供了多种方式来实现,...

    Spring Security OAuth2.0学习笔记.zip

    Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...

    SpringSecurity笔记2-SpringSecurity命名空间

    在"SpringSecurity笔记2-SpringSecurity命名空间"这个主题中,我们将深入探讨SpringSecurity配置的核心——命名空间。 SpringSecurity通过XML配置文件中的命名空间来简化设置过程,这些命名空间提供了丰富的元素和...

    spring security学习笔记

    spring security学习笔记

    狂神Spring Security静态资源

    3. **使用Spring Security的访问决策管理器(AccessDecisionManager)**:如果你希望控制哪些角色可以访问静态资源,可以实现自己的访问决策管理器,然后在配置中指定使用这个管理器。 4. **使用HTTP基本认证或OAuth2...

    Spring Security 笔记思维导图

    Spring Boot 整合 Spring Security 包含认证,授权,加密,验证码,前后端分离,记住密码,自定义组件等

    最详细Spring Security学习资料(源码)

    Spring Security是一个功能强大且高度可定制的身份验证和授权框架,专门用于保护Java应用程序的安全性。它构建在Spring Framework基础之上,提供了全面的安全解决方案,包括身份验证、授权、攻击防护等功能。 Spring...

    springsecurity入门笔记+教程

    springsecurity入门笔记+教程

    Spring Security tutorial 学习笔记(一)

    在 `SpringSecurityTest01` 这个压缩包文件中,你可能找到了一个示例项目,它可能包含了配置类、控制器、视图和测试用例。通过分析这些代码,你可以更深入地理解如何在实际项目中应用 Spring Security。 总之,...

    Spring学习笔记+学习源码.zip

    3. **面向切面编程(Aspect-Oriented Programming,AOP)**:Spring AOP允许开发者定义“切面”——跨越多个类的行为或责任。通过切点(Pointcut)和通知(Advice),可以在不修改原有代码的情况下添加新的功能。 4...

    视频配套笔记_Spring Security OAuth2.0认证授权_v1.1.rar

    这个压缩包文件"视频配套笔记_Spring Security OAuth2.0认证授权_v1.1.rar"包含了对这一主题的详细解释和实例代码,旨在帮助开发者深入理解和应用OAuth2.0与Spring Security的集成。 首先,Spring Security是Spring...

    Spring Security OAuth 笔记.doc

    **Spring Security OAuth 知识点详解** Spring Security OAuth 是一个广泛使用的安全框架,它提供了OAuth 2.0的实现,用于构建安全的Web应用程序和服务。OAuth允许第三方应用以受限制的方式访问用户的数据,同时...

    springsecurity3 学习笔记源码分析所得

    Spring Security 是一个强大的Java安全框架,用于...总的来说,Spring Security 3的学习笔记和源码分析对提升安全开发技能大有裨益,不仅可以加深理论理解,还能在实际项目中灵活运用,构建更加健壮、安全的应用系统。

Global site tag (gtag.js) - Google Analytics