郭艺宾 头像

郭艺宾

10 声望
他还没有填写个人简介
关注了
0
粉丝数
2
最新动态
  • 发布了文章 ·
    SpringBootSecurity学习(25)前后端分离版之OAuth2.0 令牌中继

    前面介绍的项目都是授权服务和资源服务单独两个,这样在资源服务中的 check_token 地址都是写死的地址 :

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(24)前后端分离版之OAuth2.0 应用登记

    一个应用要求 OAuth 授权,必须先到对方网站登记,让对方知道是谁在请求。举个例子,下面是github的登记页面:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(23)前后端分离版之OAuth2.0 其它模式

    前面介绍了授权码模式和刷新令牌两种获取最新令牌的方法,下面来看一下其它模式。首先看密码模式,我们默认配置的三种模式中其实就包含密码模式的支持:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(22)前后端分离版之OAuth2.0自定义授权码

    产生的授权码默认是 6 位的,产生以后并没有做任何管理,可以说是一个临时性的授权码,oauth2也提供了将授权码使用jdbc进行管理的功能,首先在数据库中创建表 oauth_code :

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(21)前后端分离版之OAuth2.0非对称加密

    可以看到我们只用setSigningKey方法配置了一个秘钥,这里使用的是简单的对称加密的方式来加密jwt内容,同时资源服务器中使用的也是同样的秘钥配置jwt转换器:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(20)前后端分离版之OAuth2.0刷新token

    前面的例子和配置都是从头开始申请授权码和令牌,现在来看一下如何根据获取令牌时,回参中的 refresh_token 来刷新令牌。现在在项目中配置的是内存模式的默认用户名密码,第一步先改成数据库查询的方式,具体过程参考前面的文章即可,来看security配置类:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(19)前后端分离版之OAuth2.0 token的存储和管理

    我们来继续授权服务代码的下一个优化。现在授权服务中,token的存储是存储在内存中的,我们使用的是 InMemoryTokenStore :

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(18)前后端分离版之 OAuth2.0 数据库(MyBatis)存储客户端

    前面的例子使用了默认的jdbc配置来动态从数据库查询客户端信息,下面来改用更加灵活的mybatis来实现,改用mybatis,首先pom中换成mybatis的依赖:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(17)前后端分离版之 OAuth2.0 数据库(JDBC)存储客户端

    这个流程就像第三方登录成功后,提问是否允许获取昵称和头像信息的页面一样,这个过程其实是可以自动同意的,需要在客户端配置中,增加一个自动批准:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(16)前后端分离版之 OAuth2.0 加密配置

    前面使用spring cloud security和spring cloud oauth2写了一个第三方授权的例子,例子非常的简单,主要目的是用来熟悉OAuth2.0 申请授权的整个流程,这个简单的示例肯定是不能直接用于生产环境的,还有很多需要改进的地方,我们来总结一下:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(15)前后端分离版之 OAuth2.0简单示例

    OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者。客户端来申请资源,资源所有者同意以后,资源服务器可以向客户端颁发令牌。客户端通过令牌,去请求数据。也就是说,OAuth 的核心就是向第三方应用颁发令牌。而且,OAuth 2.0 规定了四种获得令牌的流程。你可以选择最适合自己的那一种,向第三方应...

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(14)前后端分离版之 OAuth2.0介绍

    前面基本介绍了security的常规用法,同时介绍了JWT和它的一个简单实现,基本上开发中遇到的登录问题都能解决了,即使在分布式开发,或者微服务开发中实现登录也基本没有问题了。security本身已经实现的比较完善的安全处理,加上JWT的验证方式,可以实现一个理想的登录功能。

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(13)前后端分离版之JWT

    前面简单介绍了把默认的页面登录改为前后端分离的接口异步登录的方法,可以帮我们实现基本的前后端分离登录功能。但是这种基本的登录和前面的页面登录还有一个一样的地方,就是使用session和cookie来维护登录状态,这种方法的问题在于,扩展性不好。单机当然没有问题,如果是服务器集群,或者是跨域的服务导向架构,就要...

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(12)前后端分离版之简单登录

    前面讨论了springboot下security很多常用的功能,其它的功能建议参考官方文档学习。网页版登录的形式现在已经不是最流行的了,最流行的是前后端分离的登录方式,前端单独成为一个项目,与后台的交互,包括登录认证和授权都是由异步接口来实现。在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲...

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(11)网页版登录之URL动态权限

    前面讨论用户登录认证的时候,根据用户名查询用户会将用户拥有的角色一起查询出来,自动实现判断当前登录用户拥有哪些角色。可以说用户与角色之间的动态配置和判断security做的非常不错。不过在配置方法级别的权限的时候,使用注解虽然是一种比较优雅的方式,但是要求在开发的时候就知道当前url对应哪些角色,无法实现动...

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(10)网页版登录之记住我功能

    很多登录都有记住我这个功能,在用户登陆一次以后,系统会记住用户一段时间,在这段时间,用户不用反复登陆就可以使用我们的系统。记住用户功能的基本原理如下图:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(09)网页版登录配置Session共享

    当后台项目由部署在一台改为部署在多台以后,解决session共享问题最常用的办法就是把session存储在redis等缓存中。关于session和cookie概念这里就不再赘述了,在springboot-security环境下,把session存储到redis中共享是非常非常简单的,除了多了一些配置,几乎不用改任何代码。共享session达到的效果就是,用户在一台...

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(08)网页版登录整合MyBatis

    前面介绍了springboot-security整合jdbc从数据库中查询用户的方式,适用性有限,下面介绍最常用的整合MyBatis,这种在开发和生产环境中是最常用,也是最实用的。首先需要创建数据库表,我们来创建三张表,分别是用户表,角色表,还有用户角色表,首先看用户表:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(07)网页版登录整合JDBC

    前面我们定义用户是在配置文件和代码中定义死的默认用户,一般在开发中是不会这样做的,我们的用户都是来自我们的用户表,存储在数据库中。操作数据库的技术有很多,spring security默认支持了一个JDBC的方式,下面用这个方式来从数据库中查询用户。首先定义用户表users:

    摘要图
  • 发布了文章 ·
    SpringBootSecurity学习(06)网页版登录方法级别的权限

    前面讨论过,Web应用的安全管理,主要包括两个方面的内容,一个是用户身份的认证,即用户登录的设计,二是用户授权,即一个用户在一个应用系统中能够执行哪些操作的权限管理。前面介绍了登录,下面简单介绍一下用户授权。用户拥有的权限是根据用户的角色来决定的,并且security中,用户的权限可以控制到方法级别。

    摘要图
认证与成就
获得 2 次点赞
8月10日 加入
qrcode
关注微信服务号
实时接收新的回答提醒和评论通知