SpringSecurity专题
大扑棱蛾子
合抱之木,生于毫末;百尺之台,起于垒土;千里之行,始于足下。更多精彩文章请移步我的个人博客:http://jaune162.blog
展开
-
Spring Security教程(2)----SpringSecurity简单测试
前面讲到了SpringSecurity的简单配置,今天做一个简单的测试,先看配置文件<beans xmlns="http://www.springframework.org/schema/beans" xmlns:sec="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/X原创 2014-01-16 10:01:20 · 21665 阅读 · 7 评论 -
Spring Security教程(1)----SpringSecurity3.2环境搭建
目前Spring官方只提供Meven的下载方式。但在http://maven.springframework.org中有SpringSecurity3.2版的下载方式。http://maven.springframework.org/release/org/springframework/中有Spring相关的所有下载,但好像直到3.2版的,最新的版本在这个里面找不到http://ma原创 2013-12-28 22:22:09 · 28190 阅读 · 12 评论 -
Spring Security教程(3)---- 自定义登录页面
在项目中我们肯定不能使用Spring自己生成的登录页面,而要用我们自己的登录页面,下面讲一下如何自定义登录页面,先看下配置 <sec:form-login login-page="/login.jsp" authentication-failure-url="/login.jsp" default-target-url="/index.jsp"/>原创 2014-01-16 10:14:50 · 22237 阅读 · 6 评论 -
Spring Security教程(大纲)----学习过程分享
今天给大家分享一下我学习SpringSecurity的过程,及我随后要讲的Spring Security的学习大纲。一为指导想学习SpringSecurity的同学,二为留着自己备用,以便忘了的时候翻出来看看。第一次写博客,写的不好的地方还请大家勿喷。Spring Security是Spring的一个安全框架,它的前身是Acegi Security.这个框架主要分为两个部分,认证、验证。原创 2013-12-28 22:03:00 · 24865 阅读 · 4 评论 -
Spring Security教程(13)---- 验证码功能的实现
有三中方法可以实现验证码的功能第一种是自定义一个filter,放在SpringSecurity过滤器之前,在用户登录的时候会先经过这个filter,然后在这个filter中实现对验证码进行验证的功能,这种方法不推荐,因为它已经脱离了SpringSecurity第二种是自定义一个filter让它继承自UsernamePasswordAuthenticationFilter,然后重写attem原创 2014-01-19 14:02:47 · 38596 阅读 · 5 评论 -
Spring Security教程(12)---- 使用数据库来管理方法
这个稍微有一点复杂,我是通过AOP来实现的,前半部分跟上一章类似,主要在配置上有点不同读取方法与权限对应列表DAO public List> getMethodResourceMapping(){ String sql = "SELECT S3.RESOURCE_PATH,S2.AUTHORITY_MARK FROM SYS_AUTHORITIES_RESOURCES S1 "+原创 2014-01-18 17:00:30 · 6448 阅读 · 0 评论 -
Spring Security教程(11)---- 使用数据库来管理资源
这个可以说是SpringSecurity最核心的东西,在项目中资源很多肯定不能一一配置到配置文件中,所以用数据库来管理资源是必然的。这个也很容易实现。表结构已经在之前都创建过了。首先我们要来从数据库中获取到资源与权限的对应列表,这个在dao层实现即可需要获取到url地址和AUTH_**这种权限标识,注意:不是权限ID和资源ID。 public List> getURLResourceMap原创 2014-01-18 11:44:03 · 10275 阅读 · 7 评论 -
Spring Security教程(10)---- 自定义登录成功后的处理程序及修改默认验证地址
form-login配置中的authentication-success-handler-ref可以让手动注入登录成功后的处理程序,需要实现AuthenticationSuccessHandler接口。<sec:form-login login-page="/login.jsp" login-processing-url="/login.do" authentication-failure原创 2014-01-18 10:52:53 · 33960 阅读 · 7 评论 -
Spring Security教程(9)---- 自定义AccessDeniedHandler
在Spring默认的AccessDeniedHandler中只有对页面请求的处理,而没有对Ajax的处理。而在项目开发是Ajax又是我们要常用的技术,所以我们可以通过自定义AccessDeniedHandler来处理Ajax请求。我们在Spring默认的AccessDeniedHandlerImpl上稍作修改就可以了。public class DefaultAccessDeniedHandle原创 2014-01-17 11:34:38 · 30034 阅读 · 2 评论 -
Spring Security教程(14)---- Logout和SessionManager
Logout的配置很简单,只需要在http中加入下面的配置就可以了<sec:logout invalidate-session="true" logout-url="/logout" logout-success-url="/login.jsp" />invalidate-session是否销毁Sessionlogout-url logout地址logout-success-url原创 2014-01-24 16:23:46 · 25539 阅读 · 7 评论 -
Spring Security教程外篇(2)---- 乱起八糟的一下东西,自己备用
IS_AUTHENTICATED_ANONYMOUSLY 允许匿名用户进入IS_AUTHENTICATED_FULLY 允许登录用户进入IS_AUTHENTICATED_REMEMBERED 允许登录用户和rememberMe用户进入支持表达式<sec:http auto-config="true" access-decision-manager-ref="accessDecisi原创 2014-01-17 13:41:05 · 5014 阅读 · 0 评论 -
Spring Security教程(8)---- 自定义决策管理器及修改权限前缀
首先介绍下Spring的决策管理器,其接口为AccessDecisionManager,抽象类为AbstractAccessDecisionManager。而我们要自定义决策管理器的话一般是继承抽象类而不去直接实现接口。在Spring中引入了投票器(AccessDecisionVoter)的概念,有无权限访问的最终觉得权是由投票器来决定的,最常见的投票器为RoleVoter,在RoleVote原创 2014-01-17 11:07:51 · 25329 阅读 · 3 评论 -
Spring Security教程(7)---- 解决UsernameNotFoundException无法被捕获的问题
这个教程是我在往项目中一点一点添加 Spring Security的过程的一个笔记,也是我学习 Spring Security的一个过程。在解决这个问题之前要先说一点authentication-provider默认加载的是DaoAuthenticationProvider类。完成了上一章的内容后在测试的时候发现在UserDetailsService中抛出的UsernameNotFound原创 2014-01-16 16:26:57 · 28042 阅读 · 5 评论 -
Spring Security教程(6)---- 使用数据库管理用户及权限
上一章已经把表结构上传了,今天这部分主要用到的表是SYS_USERS 用户管理表SYS_ROLES 角色管理表SYS_AUTHORITIES权限管理表SYS_USERS_ROLES用户角色表SYS_ROLES_AUTHORITIES角色权限表要实现使用数据库管理用户,需要自定义用户登录功能,而Spring已经为我们提供了接口UserDetailsServic原创 2014-01-16 14:16:59 · 26062 阅读 · 7 评论 -
Spring Security教程外篇(1)---- AuthenticationException异常详解
这个异常是在登录的时候出现错误时抛出的异常,比如账户锁定,证书失效等,先来看下AuthenticationException常用的的子类:UsernameNotFoundException 用户找不到BadCredentialsException 坏的凭据AccountStatusException 用户状态异常它包含如下子类AccountExpiredException 账户过期原创 2014-01-16 17:16:32 · 65576 阅读 · 7 评论 -
Spring Security教程(5)---- 国际化配置及UserCache
这一章是为了给后面的讲解打基础的,主要介绍下国际化的配置及UserCache的配置及使用国际化配置 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" val原创 2014-01-16 14:02:21 · 16646 阅读 · 3 评论 -
Spring Security教程(4)---- 数据库表结构的创建
PD建模图建模语句alter table SYS_AUTHORITIES_RESOURCES drop constraint FK_SYS_AUTH_REFERENCE_SYS_AUTH;alter table SYS_AUTHORITIES_RESOURCES drop constraint FK_SYS_AUTH_REFERENCE_SYS_RESO;原创 2014-01-16 11:17:19 · 23993 阅读 · 5 评论 -
SpringBoot集成SpringSecurity+CAS
本文主要讲述如何通过SpringSecurity+CAS在springboot项目中实现单点登录和单点注销的功能。参考内容有Spring Security官方文档中的 1. 5. Java Configuration 2. 32. CAS Authentication原创 2017-09-22 11:06:37 · 14342 阅读 · 6 评论