Spring Security系列
LUCAS-LJ
这个作者很懒,什么都没留下…
展开
-
Spring Security教程(5)---- 国际化配置及UserCache
这一章是为了给后面的讲解打基础的,主要介绍下国际化的配置及UserCache的配置及使用国际化配置[html] view plaincopy bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBu转载 2015-10-27 14:42:03 · 427 阅读 · 0 评论 -
Spring Security教程(4)---- 数据库表结构的创建
PD建模图建模语句[sql] view plaincopyalter table SYS_AUTHORITIES_RESOURCES drop constraint FK_SYS_AUTH_REFERENCE_SYS_AUTH; alter table SYS_AUTHORITIES_转载 2015-10-27 14:40:44 · 854 阅读 · 0 评论 -
Spring Security教程(12)---- 使用数据库来管理方法
这个稍微有一点复杂,我是通过AOP来实现的,前半部分跟上一章类似,主要在配置上有点不同读取方法与权限对应列表DAO[java] view plaincopypublic List> getMethodResourceMapping(){ String sql = "SELECT S3.RESOURCE_PATH,S2.A转载 2015-10-27 14:49:17 · 662 阅读 · 0 评论 -
Spring Security教程(11)---- 使用数据库来管理资源
这个可以说是SpringSecurity最核心的东西,在项目中资源很多肯定不能一一配置到配置文件中,所以用数据库来管理资源是必然的。这个也很容易实现。表结构已经在之前都创建过了。首先我们要来从数据库中获取到资源与权限的对应列表,这个在dao层实现即可需要获取到url地址和AUTH_**这种权限标识,注意:不是权限ID和资源ID。[java] view plain转载 2015-10-27 14:46:12 · 542 阅读 · 0 评论 -
Spring Security教程(6)---- 使用数据库管理用户及权限
上一章已经把表结构上传了,今天这部分主要用到的表是SYS_USERS 用户管理表SYS_ROLES 角色管理表SYS_AUTHORITIES权限管理表SYS_USERS_ROLES用户角色表SYS_ROLES_AUTHORITIES角色权限表要实现使用数据库管理用户,需要自定义用户登录功能,而Spring已经为我们提供了接口UserDetailsServ转载 2015-10-27 14:42:50 · 520 阅读 · 0 评论 -
Spring Security教程(2)----SpringSecurity简单测试
前面讲到了SpringSecurity的简单配置,今天做一个简单的测试,先看配置文件[html] view plaincopyxml version="1.0" encoding="UTF-8"?> beans xmlns="http://www.springframework.org/schema/beans" xmln转载 2015-10-27 14:37:57 · 691 阅读 · 0 评论 -
Spring Security教程(14)---- Logout和SessionManager
Logout的配置很简单,只需要在http中加入下面的配置就可以了[html] view plaincopysec:logout invalidate-session="true" logout-url="/logout" logout-success-url="/login.jsp" /> invalidate-se转载 2015-10-27 14:50:28 · 827 阅读 · 0 评论 -
Spring Security教程(8)---- 自定义决策管理器及修改权限前缀
首先介绍下Spring的决策管理器,其接口为AccessDecisionManager,抽象类为AbstractAccessDecisionManager。而我们要自定义决策管理器的话一般是继承抽象类而不去直接实现接口。在Spring中引入了投票器(AccessDecisionVoter)的概念,有无权限访问的最终觉得权是由投票器来决定的,最常见的投票器为RoleVoter,在RoleVo转载 2015-10-27 14:44:19 · 896 阅读 · 0 评论 -
Spring Security教程(7)---- 解决UsernameNotFoundException无法被捕获的问题
这个教程是我在往项目中一点一点添加 Spring Security的过程的一个笔记,也是我学习 Spring Security的一个过程。在解决这个问题之前要先说一点authentication-provider默认加载的是DaoAuthenticationProvider类。完成了上一章的内容后在测试的时候发现在UserDetailsService中抛出的UsernameNotF转载 2015-10-27 14:43:32 · 934 阅读 · 0 评论 -
Spring Security教程(1)---- AuthenticationException异常详解
这个异常是在登录的时候出现错误时抛出的异常,比如账户锁定,证书失效等,先来看下AuthenticationException常用的的子类:UsernameNotFoundException 用户找不到BadCredentialsException 坏的凭据AccountStatusException 用户状态异常它包含如下子类AccountExpiredExcept转载 2015-10-27 14:35:48 · 2121 阅读 · 0 评论 -
Spring Security教程(13)---- 验证码功能的实现
有三中方法可以实现验证码的功能第一种是自定义一个filter,放在SpringSecurity过滤器之前,在用户登录的时候会先经过这个filter,然后在这个filter中实现对验证码进行验证的功能,这种方法不推荐,因为它已经脱离了SpringSecurity第二种是自定义一个filter让它继承自UsernamePasswordAuthenticationFilter,然后重写a转载 2015-10-27 14:49:54 · 515 阅读 · 1 评论 -
Spring Security教程(9)---- 自定义AccessDeniedHandler
在Spring默认的AccessDeniedHandler中只有对页面请求的处理,而没有对Ajax的处理。而在项目开发是Ajax又是我们要常用的技术,所以我们可以通过自定义AccessDeniedHandler来处理Ajax请求。我们在Spring默认的AccessDeniedHandlerImpl上稍作修改就可以了。[java] view plaincopy转载 2015-10-27 14:44:53 · 1112 阅读 · 0 评论 -
Spring Security教程(3)---- 自定义登录页面
在项目中我们肯定不能使用Spring自己生成的登录页面,而要用我们自己的登录页面,下面讲一下如何自定义登录页面,先看下配置[html] view plaincopysec:http auto-config="true"> sec:intercept-url pattern="/app.jsp" access="R转载 2015-10-27 14:39:45 · 663 阅读 · 0 评论 -
Spring Security教程(10)---- 自定义登录成功后的处理程序及修改默认验证地址
form-login配置中的authentication-success-handler-ref可以让手动注入登录成功后的处理程序,需要实现AuthenticationSuccessHandler接口。[html] view plaincopysec:form-login login-page="/login.jsp" logi转载 2015-10-27 14:45:38 · 2026 阅读 · 0 评论