栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

孤尽T31之用户系统实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

孤尽T31之用户系统实现

  • JWT结合Oauth2

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

通过JWT来实现生成令牌秘钥,秘钥使用非对称加密方式,由授权中心生成私钥,将公钥给各个资源中心,这样用户只要向资源中心申请了秘钥令牌后就可以直接去访问各个资源,资源服务器使用公钥来验证用户的令牌有效性,这样不用再次向授权中心验证。

  • 授权配置

2.资源服务器配置

       资源服务器需要先配置好公钥,资源服务器在启动的时候会先想授权中心验证公钥的有效性,只有有效才接受授权,否则启动失败。

这个配置在nacos里的security.yaml中,admin service需要引入security.yaml来向授权中心验证签名有效性。

3.授权控制

       授权工作由Spring security,而认证是Oauth2来完成。

Spring Security定义了4个支持注解

@PreAuthrize

@PostAuthorize

@PreFilter

@PostFilter

需要开启全局的方法控制@EnableGlobaMethodSecurity

4.用户登录

       1)客户端通过发送用户名,密码验证用户登录信息正确。

       2)服务器端包装请求将信息发送给授权中心得到token令牌信息。

       3)

登录实现

  1. 配置文件

admin-service-dev.yaml

网关跨域配置

gateway:

      globalcors:

        cors-configurations:

          '[/**]':

            allow-credentials: true

            allowed-origins: "*"

            allowed-headers: "*"

            allowed-methods: "*"

            max-age: 3600

配置为资源服务器

首先需要JWT 的配置,配置Oauth2配置依赖。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号