加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长资讯 > 动态 > 正文

SpringCloud分布式架构权限管理

发布时间:2021-04-28 12:28:44 所属栏目:动态 来源:互联网
导读:,登陆请求访问到权限中心的ZUUL。 2、由ZUUL反向代理到权限中心的SERVICE。 3、查询用户、角色信息,进行查询匹配。 4、有查询结果以后反馈,反馈用户状态,用户、角色、权限信息等。 5、生产TOKEN,TOKEN的算法需要自己编写,建议加入时间戳等信息进行加密

,登陆请求访问到权限中心的ZUUL。

2、由ZUUL反向代理到权限中心的SERVICE。

3、查询用户、角色信息,进行查询匹配。

4、有查询结果以后反馈,反馈用户状态,用户、角色、权限信息等。

5、生产TOKEN,TOKEN的算法需要自己编写,建议加入时间戳等信息进行加密。存放在SESSION或者直接放入REDIS中,一般建议放入SESSION中,因为分布式架构要做SESSION共享,必须有一个SESSION共享池,SESSION共享池一般会用REDIS来做,而SESSION可以利用SESSIONID,确认唯一用户,比较方便。

6、返回给客户端用户、角色、权限信息。

7、浏览器客户端通过得到的用户、角色、权限信息进行前端功能和菜单的渲染,隐藏非授权的功能,并且可以基于这些信息做前端的校验,但是这种校验由于都在客户端,很容易被人篡改,只能做一些基本防护,但是这是必要的。

8、浏览器客户端发送业务请求到服务端,请求会附带客户端菜单或者功能的权限信息,服务端通过ZUUL的拦截器拦截业务请求,访问SESSION共享池。

9、然后通过SESSIONID得到TOKEN信息,通过我们的TOKEN算法进行解密,得到用户、角色、权限信息。

10、进行匹配校验,查看本次请求是否有接口访问权限,校验通过就可以访问接口,校验不通过就不能访问。

二、跨平台接口访问

这里的接口是指一下跨平台的接口服务,类似webservice这样,没有单点登录,没有统一的授权,往往是其他平台跟我们平台进行远程交互的,这些往往两个平台不是统一的公司或部门,所以接口不是长期使用的,有一定的时间限制。管理员配置外部客户端用户及其权限信息。

2、添加用户信息、权限信息到用户数据库之中。

3、外部客户端接口如果没有TOKEN,需要先发送授权请求到权限中心。

4、权限中心通过验证是否配置外部客户端用户,并且取得该用户的权限信息,校验通过以后通过加密算法生产TOKEN,这里的TOKEN根据实际情况,如果安全要求高最好加入时间戳,让TOKEN过期作废,让对方重新请求。

5、将TOKEN存入REDIS中,形成TOKEN共享池,这里由于没有浏览器的SESSIONID,所以存放在SESSION中意义不大。

6、返回TOKEN给客户端。

7、客户端拿到TOKEN以后发送业务请求给业务接口地址。

8、业务接口通过ZUUL拦截请求,并且将TOKEN跟REDIS的TOKEN进行比对。

9、比对成功以后,对TOKEN进行解密,然后看是否有接口授权。

10、如果有接口授权则通过,访问接口,如果没有则不能访问。

Java高级资料需要自己领取,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程!!!

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读