springsecurity
Java旅途
这个作者很懒,什么都没留下…
展开
-
从零学习spring security(一)基本原理了解
最近打算学一套安全框架,目前由于springboot、springcloud的火热,因此springsecurity是第一选择。一、先看看基本原理spring security 实际上就是通过一系列的过滤器对请求进行过滤,最终对不合法的请求抛出相应的异常。二、接下来看看具体实现1)引入security的依赖<dependency> <groupId>org.sp...原创 2019-06-27 12:43:07 · 326 阅读 · 0 评论 -
从零学习spring security(二)登录成功及失败处理
登录成功后我们需要实现AuthenticationSuccessHandler接口来处理我们的逻辑。当然可以继承它的实现类SavedRequestAwareAuthenticationSuccessHandler。登录失败后我们需要实现AuthenticationFailureHandler接口来处理我们的逻辑。当然可以继承它的实现类SimpleUrlAuthenticationFailureH...原创 2019-07-08 17:10:25 · 1278 阅读 · 1 评论 -
从零学习spring security(三)图片验证码
在第一篇博客中也说到了springsecurity通过一系列的过滤器将请求进行过滤。我们发现并没有过滤验证码的过滤器,因此我们自己构建一个图片验证码的过滤器来验证验证码。一、设置二维码实体类,写一个验证验证码是否过期的方法package com.zhb.security.validate.code;import java.awt.image.BufferedImage;import ja...原创 2019-07-09 16:18:56 · 143 阅读 · 0 评论 -
从零学习spring security(四)记住我功能
我们来看看springsecurity的记住我功能是如何实现的。一、原理图用户第一次登录的时候认证成功,将token写入数据库,同时将token写入浏览器cookie,当下一次登录请求时,带着token去数据库查找,如果找到则带着登录信息去调用userDetailService实现登录。二、配置记住我@Configurationpublic class BrowserConfig ext...原创 2019-07-09 19:08:14 · 188 阅读 · 0 评论 -
从零学习spring security(五)单机session管理
一、session过期处理我们知道session默认的过期时间是30分钟,为了快速实现session过期后如何处理,我们将session设置成1分钟,当然security里面要求session最少过期时间是1分钟,如果设置的少于1分钟会当成1分钟处理。1) application.properties中设置session过期时间server.servlet.session.timeout=6...原创 2019-08-03 16:45:20 · 665 阅读 · 0 评论 -
从零学习spring security(六)集群session管理
在我们日常的生产环境中,可能会通过nginx或apach进行分发,以保证系统的稳定性。在这种情况下,因为会涉及到多台服务器,我们必须通过一定的方式实现session共享,也就是服务器A需要拿到服务器B的session。1、我们看一下springboot为我们提供的session共享有哪些方式,下面的这个类中是springboot为我们提供的几种方式public enum StoreType {...原创 2019-08-05 10:02:33 · 500 阅读 · 0 评论 -
从零学习spring security(七)退出登录
spring security 默认的退出路径为/logout,当然我们可以自定义这个路径,然后更改配置即可,我们直接看代码。.logout() .logoutUrl("/signOut") //页面上退出按钮的路径,如果是/logout可不填//.logoutSuccessUrl("/login.html") // 跳到页面 .logoutSuccessHandler(logOutH...原创 2019-08-06 15:14:09 · 233 阅读 · 0 评论