- 浏览: 260006 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (87)
- Java (6)
- Frameworks (1)
- JavaWeb (3)
- Spring (6)
- Hibernate (26)
- Maven (2)
- Plugin (1)
- Velocity (1)
- Freemarker (1)
- Spring security (18)
- Google (5)
- Guice (5)
- rmi (1)
- Annotation (1)
- Binding (1)
- commons-fileupload (3)
- fileupload (3)
- ehcache (1)
- ApplicationContext (1)
- Resource (1)
- Validator (1)
- PropertyEditor (1)
- one-to-many (5)
- cascade (2)
- MessageSource (1)
- Serialize (1)
- Serializable (1)
- delete (1)
- delete-orphan (1)
- fetch (1)
- one-to-one (1)
- join (4)
- DomainObject (1)
- CRUD (1)
- composite-element (1)
- Hibernate ORM (14)
- dynamic-insert (1)
- dynamic-update (1)
- Search (1)
- DDD (0)
- Job (0)
- element (1)
- Unique (1)
- Group (1)
- tomcat (1)
- https (1)
- mysql (1)
最新评论
-
xurunchengof:
[url][url][url][img][img][img][ ...
Spring Security 3多用户登录实现之三 验证过滤器 -
Wind_ZhongGang:
yo8237233 写道你这样的话如果上传文件超过了50000 ...
Spring集成Commons fileupload,文件上传 -
yo8237233:
你这样的话如果上传文件超过了50000000就会报异常
Spring集成Commons fileupload,文件上传 -
zhuzhiguosnail:
Wind_ZhongGang 写道lianglaiyang 写 ...
Spring Security 3多用户登录实现一 -
曾老师:
?????
Spring Security 3用户登录实现之十 用户切换
Spring Security 3多用户登录实现之六 用户验证后处理
- 博客分类:
- Spring security
验证用户后主要有这样两种走向,一种是验证失败,一种是验证成功,验证失败后应该如何处理呢,验证成功又该如何处理呢?
验证失败的处理需要实现AuthenticationFailureHandler接口,我的前台用户认证失败的处理是这样的
package com.template.security.authentication.handler; import com.template.security.shared.DirectUrlResolver; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * Created by IntelliJ IDEA. * User: Zhong Gang * Date: 12-11-9 * Time: 下午11:20 */ public class MultipleAuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler { private List<DirectUrlResolver> resolvers = new ArrayList<DirectUrlResolver>(); @Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException { for (DirectUrlResolver resolver : resolvers) { if (resolver.support(request)) { String directUrl = resolver.directUrl(); setDefaultFailureUrl(directUrl); } } super.onAuthenticationFailure(request, response, exception); } public void setResolvers(List<DirectUrlResolver> resolvers) { this.resolvers = resolvers; } }
验证成功的处理需要实现AuthenticationSuccessHandler接口,我的后台验证成功处理是这样的
package com.template.security.authentication.handler; import com.template.security.shared.DirectUrlResolver; import org.springframework.security.core.Authentication; import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * Created by IntelliJ IDEA. * User: Zhong Gang * Date: 12-11-9 * Time: 下午11:20 */ public class MultipleAuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler { private List<DirectUrlResolver> resolvers = new ArrayList<DirectUrlResolver>(); @Override public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { for (DirectUrlResolver resolver : resolvers) { if (resolver.support(request)) { String directUrl = resolver.directUrl(); setDefaultTargetUrl(directUrl); } } super.onAuthenticationSuccess(request, response, authentication); } public void setResolvers(List<DirectUrlResolver> resolvers) { this.resolvers = resolvers; } }
不论是前台验证成功还是后台验证成功,前台验证失败还是后台验证失败我都有不同的处理,前台验证成功导向前台验证成功界面,后台验证成功导向后台验证成功界面, 前台验证失败导向前台登录界面, 后台验证失败导向后台登录界面,所以这里我使用了前面我书写的一个通用接口,也就是DirectUrlResolver。来看看验证处理成功或失败的配置信息。
<beans:bean id="multipleAuthenticationSuccessHandler" class="com.template.security.authentication.handler.MultipleAuthenticationSuccessHandler"> <beans:property name="alwaysUseDefaultTargetUrl" value="true"/> <beans:property name="resolvers"> <beans:list> <beans:ref bean="backendAuthenticationSuccessUrlResolver"/> <beans:ref bean="forendAuthenticationSuccessUrlResolver"/> </beans:list> </beans:property> </beans:bean> <beans:bean id="backendAuthenticationSuccessUrlResolver" class="com.template.security.shared.RequestParameterDirectUrlResolver"> <beans:property name="parameterName" value="token"/> <beans:property name="pattern" value="backend"/> <beans:property name="directUrl" value="/backend/login/success"/> </beans:bean> <beans:bean id="forendAuthenticationSuccessUrlResolver" class="com.template.security.shared.RequestParameterDirectUrlResolver"> <beans:property name="parameterName" value="token"/> <beans:property name="pattern" value="forend"/> <beans:property name="directUrl" value="/forend/login/success"/> </beans:bean> <beans:bean id="multipleAuthenticationFailureHandler" class="com.template.security.authentication.handler.MultipleAuthenticationFailureHandler"> <beans:property name="resolvers"> <beans:list> <beans:ref bean="backendAuthenticationFailureUrlResolver"/> <beans:ref bean="forendAuthenticationFailureUrlResolver"/> </beans:list> </beans:property> </beans:bean> <beans:bean id="backendAuthenticationFailureUrlResolver" class="com.template.security.shared.RequestParameterDirectUrlResolver"> <beans:property name="parameterName" value="token"/> <beans:property name="pattern" value="backend"/> <beans:property name="directUrl" value="/backend/login?error=1"/> </beans:bean> <beans:bean id="forendAuthenticationFailureUrlResolver" class="com.template.security.shared.RequestParameterDirectUrlResolver"> <beans:property name="parameterName" value="token"/> <beans:property name="pattern" value="forend"/> <beans:property name="directUrl" value="/forend/login?error=1"/> </beans:bean>
这里还需要将相应的验证Handler注入到前讲的认证处理Filter中。
- SHTEPMPLATE.zip (43.6 KB)
- 下载次数: 45
发表评论
-
Spring Security 之 Session Management
2013-01-06 11:43 5562Spring Security为我们提供了Sess ... -
Spring Security 之 Digest Authentication
2013-01-04 16:22 0<?xml version=" ... -
Spring Security 之 Basic Authentication
2013-01-04 11:58 2017Spring Security实现Basic A ... -
Spring Security 3用户登录实现之十二 授权判断
2012-11-29 15:38 2205Spring Security在验证用户登录后的另 ... -
Spring Security 3多用户登录实现之十一 退出
2012-11-19 21:41 2624Spring Security的退出功能由Logou ... -
Spring Security 3用户登录实现之十 用户切换
2012-11-17 18:15 6265部分情况下用户希望能够在不知道其它用户账号及密码的 ... -
Spring Security 3多用户登录实现之九 基于持久化存储的自动登录
2012-11-17 00:40 6277Spring Security实现自动登录的基本流 ... -
Spring Security 3多用户登录实现之八 基于Cookie的自动登录
2012-11-15 22:44 10995Spring Security为我们提供了两种方式的自 ... -
Spring Security 3多用户登录实现之七 用户验证失败处理改进
2012-11-11 11:24 8898验证登录失败后的处理的常见处理是返回到登录页面,并 ... -
Spring Security 3多用户登录实现之五 验证用户凭证
2012-11-11 00:42 4891有了用户凭证后, 如何验证用户的凭证是否正确呢, 这就需 ... -
Spring Security 3多用户登录实现之四 用户凭证
2012-11-10 20:00 5067前讲讲到AuthenticationFilt ... -
Spring Security 3多用户登录实现之三 验证过滤器
2012-11-10 19:58 15105当填写完成登录表单提交后,首先会被对应的提交表单提起 ... -
Spring Security 3多用户登录实现之二 多登录界面展示
2012-11-10 19:58 9728接前讲,首先针对一个多种用户类型的登录需求,需要先 ... -
Spring Security 3多用户登录实现一
2012-11-10 19:57 4961使用Spring Security 3 来实现多种 ... -
Spring security customize password encoder
2011-07-29 22:21 2357Spring security为我们 ... -
Spring security防用户重复登录
2011-07-28 23:28 3905使用Spring security如何防止用户的重复登录呢 ... -
Spring security用户权限数据库配置
2011-07-28 22:11 6524关于安全性服务,有两个重要的概念需要理解,一是认证,即判断 ... -
Spring security HTTP Basic认证
2011-07-27 21:54 5256Spring security框架集成了多种流行的安全认证 ...
相关推荐
5.9后处理配置的对象 45 5.10自定义DSL 46 6.安全命名空间配置 47 6.1简介 47 6.1.1命名空间的设计 49 6.2安全命名空间配置入门 50 6.2.1 web.xml配置 50 6.2.2最小的配置 50 6.2.3表单和基本登录选项 52 设置默认的...
5.5. Spring Security中的访问控制(验证) 5.5.1. 安全和AOP建议 5.5.2. 安全对象和AbstractSecurityInterceptor 5.5.2.1. 配置属性是什么? 5.5.2.2. RunAsManager 5.5.2.3. AfterInvocationManager ...
5.5. Spring Security中的访问控制(验证) 5.5.1. 安全和AOP建议 5.5.2. 安全对象和AbstractSecurityInterceptor 5.5.2.1. 配置属性是什么? 5.5.2.2. RunAsManager 5.5.2.3. AfterInvocationManager 5.5.2.4...
Spring Security-3.0.1 中文官方文档(翻译版) 这次发布的Spring Security-3.0.1 是一个bug fix 版,主要是对3.0 中存在的一些问题进 行修 正。文档中没有添加新功能的介绍,但是将之前拼写错误的一些类名进行...
SpringSecurity5+Element?UI+Vue?Admin?Template+蚂蚁可视化AntV?等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户管理等功能。【后端技术】技术说明Spring?Boot2MVC框架?...
8.11 用向导表单控制器处理多页表单 331 8.11.1 问题 331 8.11.2 解决方案 331 8.11.3 工作原理 332 8.12 使用注解(JSR-303)的Bean校验 341 8.12.1 问题 341 8.12.2 解决方案 342 8.12.3 工作原理 ...
8.11 用向导表单控制器处理多页表单 331 8.11.1 问题 331 8.11.2 解决方案 331 8.11.3 工作原理 332 8.12 使用注解(JSR-303)的Bean校验 341 8.12.1 问题 341 8.12.2 解决方案 342 8.12.3 工作原理 ...
安全认证与授权:系统实现用户的安全认证和授权,如使用Spring Security、OAuth2等,保护用户信息和资源的安全性。 监控与日志:系统使用监控工具和日志系统,如Spring Cloud Sleuth、Zipkin、ELK Stack等,实现对...
7.4.3提示用户登录 7.4.4处理安全例外 7.4.5强制web安全性 7.4.6确保一个安全的通道 7.5视图层安全 7.5.1有条件地渲染内容 7.5.2显示用户身份验证信息 7.6保护方法调用 7.6.1创建一个安全切面 7.6.2使用元...
7.4.3 提示用户登录 7.4.4 处理安全例外 7.4.5 强制Web安全性 7.4.6 确保一个安全的通道 7.5 视图层安全 7.5.1 有条件地渲染内容 7.5.2 显示用户身份验证信息 7.6 保护方法调用 7.6.1 创建一个安全切面 ...
7.4.3 提示用户登录 7.4.4 处理安全例外 7.4.5 强制Web安全性 7.4.6 确保一个安全的通道 7.5 视图层安全 7.5.1 有条件地渲染内容 7.5.2 显示用户身份验证信息 7.6 保护方法调用 7.6.1 创建一个安全切面 ...
课程概述该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户...
它支持多用户访问,并提供高性能的数据查询和事务处理能力。 前端技术:可能包括HTML, CSS, JavaScript以及前端框架如Vue.js或React,用于构建动态的用户界面。 安全:Spring Security - 提供认证和授权功能,确保...
9. 安全性与隐私保护:通过Spring Security实现用户认证和授权,保障交易数据的安全和隐私。 10. 多角色接入:定义不同用户角色(如顾客、厨师、收银员),每种角色拥有相应的权限和功能模块。 基于SpringBoot的...
该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Ant Design Pro Vue+可视化AntV 等技术栈开发的项目,采用多模块前后端分离开发。包括图形展示、权限管理、用户管理等功能,用于研发企业级中...
系统的安全管理由Spring Security 3提供配置及管理,非常容易与第三方的用户或认证平台进行整合,如与CAS服务器作统一认证,只需要加上新的配置模块即可实现,不影响系统现有的功能模块。大大满足了各种不同系统的...
3. spring security+oauth2使用rsa加密实现认证中心(我这里没有使用io.jsonwebtoken,实际上应该使用,nacos的源码也有使用jjwt,我没使用只是为了更好的熟悉security的部分源码) 4. redis除了用作基本缓存以外,...
前台已经实现用户登录,注册等基础功能。 同时前后台会员实现分表管理,可扩展多角色系统、多权限系统。 采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。 使用Maven做项目管理,提高...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
7. 安全性与隐私保护:通过Spring Security实现用户认证和授权,保障患者数据的安全和隐私。 8. 多角色访问控制:系统定义不同的用户角色(如管理员、医生、护士、患者),每种角色拥有相应的访问权限。 基于...