
Spring Security
风流 少年
我走的很慢,但从不后退!Not designed!
展开
-
Spring Security(一):最简单的Spring Security程序
一:最简单的Spring Security程序1. 引入spring-boot-starter-security依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifa...原创 2019-05-21 11:26:27 · 3390 阅读 · 3 评论 -
Spring Security(七):认证(Authentication)-Web社交登录(Social)-Weixin
public interface Weixin { WeixinUserInfo getUserInfo(String openId);}@Data@ToStringpublic class WeixinUserInfo { /** * 普通用户的标识,对当前开发者帐号唯一 */ private String openid; /**...原创 2019-06-07 10:44:59 · 829 阅读 · 0 评论 -
Spring Security(八):认证(Authentication)-社交登录(Social)-绑定和解绑
一:绑定当用于已经在平台上注册过账号之后,可以通过绑定将第三方社交账号绑定到平台注册的账号,以后使用第三方社交账号登录即可。在绑定和解绑中一个很重要的类就是org.springframework.social.connect.web.ConnectController二:获取社交账号的绑定结果MyConnectionStatusView: 连接状态视图,Spring Security So...原创 2019-06-07 14:42:14 · 1734 阅读 · 0 评论 -
Spring Security(六):认证(Authentication)-Web社交登录(Social)-QQ
QQ第三方登录文档 http://wiki.connect.qq.com/一:成为个人开发者1. 在QQ互联(https://connect.qq.com)上称为个人开发者,填上一些基本信息名称: 自己的身份证上的姓名联系地址:自己实际居住的地址手机号码:自己的手机号电子邮箱:自己的邮箱,申请开发者时会收到一封确认邮件"腾讯开放平台-开发者注册认证",点击一下链接就可以了身份证号码...原创 2019-06-06 23:45:08 · 1871 阅读 · 1 评论 -
Spring Security(十一):授权认证(OAuth2)-授权码模式(authorization_code)
一:简介二:代码1. pom.xml注意:这里使用的springboot的版本为2.1.5.RELEASE,不同的版本功能实现上可能会有差异。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o...原创 2019-06-25 18:12:32 · 3683 阅读 · 3 评论 -
Spring Security(十三):认证(OAuth2)-短信验证码登录获取token
一:简介通过短信验证码获取令牌的过程也是自定义认证的过程。 组定义认证流程如下:自定义一个过滤器实现认证 SmsCodeAuthenticationFilter认证的时候需要将认证信息封装到一个令牌实体中 SmsCodeAuthenticationToken最终实现认证的是认证提供商 SmsCodeAuthenticationProvider将自定义的过滤器添加到UsernamePas...原创 2019-07-01 22:22:40 · 7022 阅读 · 1 评论 -
Spring Security(十四):认证(OAuth2)-App社交登录获取token
一:简介App通过第三方提供的SDK可以获取到第三方的openId和第三方对应的access_token, 但是第三方提供的access_token只能访问第三方的接口,不能访问自己服务的接口。我们要做的就是根据第三方的openId来换取自己服务对应的令牌。实现逻辑和短信验证码的逻辑一样,就是自定义一套认证逻辑。二:实现OpenIdAuthenticationTokenpublic cla...原创 2019-07-02 17:04:47 · 3683 阅读 · 0 评论 -
Spring Security(十二):认证(OAuth2)-用户名密码登录获取token
上文讲了授权码模式,了解授权码模式可以很好的了解授权模式,但实际开发中也需要 "用户名+密码"方式来获取授权,本文将"用户名密码"这种方式接入到标准的OAuth2流程中,登录成功后返回token,根据token访问其它接口。1. pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://mav...原创 2019-06-27 11:01:02 · 11606 阅读 · 3 评论 -
Spring Security(十六):授权(Authorization)
一:简介授权就是控制url能不能访问。一个请求过来会先经过FilterSecurityInterceptor过滤器拦截,然后调用访问决定管理器AccessDecisionManager,访问决定管理器是通过访问决定投票器AccessDecisionVoter来投票的,如果投票器投通过那么这个url就可以访问,如果投票器投拒绝那么这个url就不能被访问,会抛出一个访问被拒绝的异常。访问决定投票...原创 2019-07-09 17:23:42 · 4593 阅读 · 1 评论 -
Spring Security(五):认证(Authentication)-短信验证码登录
短信验证码和图片验证码原理一样,都是自定义一个过滤器用于校验验证码是否正确。login.html<p> <label for="imageCode">短信验证码</label> <input type="input" id="smsCode" name="smsCode" required> <button ...原创 2019-05-21 13:53:45 · 2728 阅读 · 0 评论 -
Spring Security(四):认证(Authentication)-记住我
1. pom.xml增加mybatis和mysql依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2...原创 2019-05-21 11:38:28 · 4026 阅读 · 3 评论 -
Spring Security(二):认证(Authentication)-用户名密码登录
1.pom.xml注意:Spring Boot 2.x 要用thymeleaf-extras-springsecurity5不能用thymeleaf-extras-springsecurity4<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xm...原创 2019-05-21 11:30:56 · 6709 阅读 · 6 评论 -
Spring Security(九):会话管理(Session)
一:会话超时1. application.yml配置session会话超时时间,默认为30秒,但是Spring Boot中的会话超时时间至少为60秒server: servlet: session: timeout: 602. security configuration配置session超时后地址http.csrf().disable() .antMatc...原创 2019-05-25 19:43:31 · 12234 阅读 · 0 评论 -
Spring Security(十):登出Logout
退出处理逻辑使当前session失效清楚与当前用户相关的remember-me记录清空当前的SecurityContext重定向到登录页http.csrf().disable().antMatchers("/login", "/session/invalid", "/logout", "/signOut").permitAll().logout() .logoutUrl(...原创 2019-05-26 09:35:23 · 18957 阅读 · 0 评论 -
Spring Security(三):认证(Authentication)-图片验证码登录
Spring Security实现的基本原理就是一堆过滤器,每个需要认证的请求都需要经过每个拦截器的拦截,如果所有拦截器都不报错就表示该用户有权限访问访问该接口,如果没有权限就抛异常。Spring Security登录时会经过UsernamePasswordAuthenticationFilter过滤器来校验用户名和密码,Spring Security并没有提供用于校验验证码的过滤器,所以实现验...原创 2019-05-21 11:33:48 · 1536 阅读 · 0 评论 -
Spring Security(十五):Token配置
配置多个clienttoken持久化到redis@Data@ToString@AllArgsConstructor@RequiredArgsConstructorpublic class OAuth2Client { private String clientId; private String clientSecret; private int acces...原创 2019-07-04 18:17:31 · 3459 阅读 · 0 评论