发表于: 2018-09-09 22:47:00

1 514


今天完成的事情:

了解微服務的權限管理方式:

一開始打算結合Shiro實現Spring的權限管理,後來發現這種想法簡直蠢到不行。

主要參考資源:

 https://blog.csdn.net/u011282930/article/details/80131534 

 https://blog.csdn.net/u011676417/article/details/73481102 

shiro在單體架構中是一個很便捷的權限管理框架。但在微服務中就有一個問題,怎麼讓shiro的權限規則作用於所有服務,而不顯得那麼臃腫。

看了很久的資料發現關於微服務的架構使用JWT這種認證方式更適合。


首先是單體和微服務的區別:


      单体应用体系下,应用是一个整体,一般针对所有的请求都会进行权限校验。请求一般会通过一个权限的拦截器进行权限的校验,在登录时将用户信息缓存到 session 中,后续访问则从缓存中获取用户信息。


       而微服务架构下,一个应用会被拆分成若干个微应用,每个微应用都需要对访问进行鉴权,每个微应用都需要明确当前访问用户以及其权限。尤其当访问来源不只是浏览器,还包括其他服务的调用时,单体应用架构下的鉴权方式就不是特别合适了。在为服务架构下,要考虑外部应用接入的场景、用户 - 服务的鉴权、服务 - 服务的鉴权等多种鉴权场景。


現在大概的思路是想用一個微服務作為認證授權中心,驗證成功就發放JWT。每次通過網關時驗證JWT,認證身份,再調用認證授權中心的接口獲取權限,再通過網絡的過濾器實現權限規則的制定。

類似上面這個圖

明天计划的事情:

實現一個初步的認證授權,了解其他的代碼實例,看一下有沒有更完善的做法

遇到的问题:

用shiro實現微服務的權限管理好蠢啊

收获:

如上



返回列表 返回列表
评论

    分享到