Spring Security-33-权限配置分离 发表于 2019-09-10 | 分类于 Spring Security 述之前的权限配置中,遗留了一个问题,就是在我们公用模块的配置中,有如下的配置 这里这个 /user/register 的配置其实是调用方的url, 在我们的公用项目里面,并不知道这些路径,所以我们需要实现的功能就是,调用方去自己的项目里面配置他的权限,然后我们把这些配置集中起来加到 Sprin ... 阅读全文 »
Spring Security-32-授权部分源码跟踪 发表于 2019-09-10 | 分类于 Spring Security 述上文中介绍了授权的一些基本的使用,本文来看一下, Spring Security 的授权部分的源码 首先来看一下流程图,如下: 这里的重点是最后面的三个拦截器 AnonymousAuthenticationFilter: 如果用户没有认证,给一个匿名的认证信息 Exceptio ... 阅读全文 »
Spring Security-31-授权的使用 发表于 2019-09-10 | 分类于 Spring Security 述之前的部分都是说的是认证的流程,并没有详细的使用过权限,本文来看一下如何做权限控制. 其实在我们之前的使用中,已经用到了一部分的权限控制,如下:12345678910111213141516.authorizeRequests() // 匹配的是登录页的话放行 .antMatch ... 阅读全文 »
Spring Security-30-单点登录案例 发表于 2019-09-10 | 分类于 Spring Security 述上文中,将默认的token替换成了 jwt ,本文将基于 jwt 实现一个单点登录的案例,流程图如下: 大概流程就是,应用A去请求登录,然后跳转到统一的认证服务器上去做认证,之后返回给应用A一个token, 这时候B应用去请求登录,认证服务器会发现应用A已经登录过了,那就不需要再认证了,直接 ... 阅读全文 »
Spring Security-29-使用JWT替换默认的Token 发表于 2019-09-10 | 分类于 Spring Security 述默认的token生成规则其实就是一个UUID,就是一个随机的字符串,然后存到redis中去,使用JWT的话,token中可以存放一些信息,我们服务端也不需要保存这个token, 服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证 使用JWT,在分布式系统中,很好地解决了单点登 ... 阅读全文 »
Spring Security-28-Token配置 发表于 2019-09-10 | 分类于 Spring Security 述前面的文章中,实现了我们三种自定义登录方式的 token 返回,做的也全是一些资源服务器的配置,本文再来看一些关于认证服务器的配置, 比如 Token 的过期时间,存储方式等等 认证服务器配置在之前的配置类 MyAuthorizationServerConfig 做修改,首先继承 Autho ... 阅读全文 »
Spring Security-27-注册逻辑重构 发表于 2019-09-10 | 分类于 Spring Security 述社交账号登录的逻辑完成之后,再来重构一下用户注册的逻辑, 回顾一下之前浏览器端写的注册逻辑 用户授权第三方登录之后,social 拿到用户的信息 查询 userconnection 表,看有没有对应的数据 没有找到的话,跳转到我们配置的注册页,默认是 /signUp 到注册页填写信息,发送 ... 阅读全文 »
Spring Security-26-社交账号登录重构 发表于 2019-09-10 | 分类于 Spring Security 述上文中实现了用户名密码登录与短信验证码登录的重构,还剩最后一种登录方式,就是第三方社交账号的登录,下面再把第三方登录重构一下 在App里面使用第三方登录和之前的浏览器里面的第三方登录在流程上有一些区别, 在App的环境中,使用第三方用户访问的不是我们服务中的某个路径, 而是服务提供商提供的 ... 阅读全文 »
Spring Security-25-用户名密码登录重构 发表于 2019-09-10 | 分类于 Spring Security 述上文中,了解了 Spring Security OAuth 的一个大致的流程,本文将我们之前写的用户名密码登录的方式重新修改一下,让他登录之后也返回一个token, 后续请求都通过token来请求 实现思路回顾一下之前的流程图: 我们在用户名密码等登陆认证完成之后,会生成一个已认证 ... 阅读全文 »
Spring Security-24-Spring Security OAuth核心源码 发表于 2019-09-10 | 分类于 Spring Security 述上文中,实现了认证服务器和资源服务器,四种 OAuth 的授权也可以使用了,但是现在仅限于 Spring Security OAuth 给出的4种授权模式,我们之前写的 用户名密码认证, 短信认证, 第三方社交账号认证,这都是不支持的, 那如何让我们自己写的认证方式也按照 OAuth 这样返回一个 ... 阅读全文 »