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学习笔记
Spring Security学习笔记
Spring Security三份资料,实战Spring Security 3.x.pdf;Spring Security 3.pdf;Spring Security使用手册.pdf
Spring Security OAuth2.0学习笔记 什么是认证、授权、会话。 Java Servlet为支持http会话做了哪些事儿。 基于session认证机制的运作流程。 基于token认证机制的运作流程。 理解Spring Security的工作原理,Spring ...
SpringSecurity笔记,编程不良人笔记
Spring Boot 整合 Spring Security 包含认证,授权,加密,验证码,前后端分离,记住密码,自定义组件等
springsecurity入门笔记+教程
来自于狂神Spring Security
Spring Security OAuth 笔记.doc
编程不良人的SpringCloud笔记和资料,全套 编程不良人的SpringCloud笔记和资料,全套 编程不良人的SpringCloud笔记和资料,全套
Spring Security学习总结二
文件内附有学习源码及“四万多字的学习笔记”,本学习笔记中涵盖了,Spring中所学的全部知识点,以及还有一些小的知识点。(笔记很详细,笔记很详细。属于本人舍得删系列)。
spring security3 学习笔记和项目源码 供大家分享
NULL 博文链接:https://springsfeng.iteye.com/blog/1274905
视频配套笔记_Spring Security OAuth2.0认证授权_v1.1 完整详细 pdf无障碍阅读,代码完整可复制
spring security方面的学习资料,包含:Spring+Security+3+与+CAS单点登录配置;Spring+Security3中文教程;Spring-Security安全权限管理手册;Spring+Security文库;还有一个学习笔记!
springboot+springsecurity入门,自定义表单登录