手把手擼套框架-登錄設計


 

目錄

 

登錄設計,這個話題真的是可大可小,過往在Winner框架中 一直是 使用SSO 做登錄,之前也寫過基於Outh2.0做授權登錄,

但是現在我任職的這個家企業,雖然對於SSO也有需要,但是目前這一塊需求還是不那么強烈,各個系統之間都是獨立去管控的。

 

這讓6月份剛入職時候的我,上來就准備以SSO(單點登錄)的方式去處理,基於IdentityServer4 (以下簡稱Id4)完成了一個。

參考資料:

http://www.identityserver.com.cn/

http://www.tnblog.net/heart320/article/details/3046

https://www.cnblogs.com/stulzq/p/8119928.html

這個我就不多說了,關於這個的資料,網上實在太多了,最后項目發布的時候,后來公司只給我一個子域名的權限,這個當時就尷尬了。

這屬於 人為造成的問題,公司就一個域名,就分配一個二級域名給我,后來我想用端口的 方式去解決。最后還是放棄了。

所以放棄了 使用 SSO了。 這個事導致了 對Victory 從 “大框架” 直接 轉為"小框架"。

大框架就是 各個項目都是獨立系統比如: 權限系統,登錄中心,調度系統,日志系統。都是獨立站點,獨立部署,新項目上線只需要配置,然后調接口就行。

小框架則是,各個功能集成在一個站點里面: 登錄功能,權限功能,調度功能,日志功能。 新建一個項目,就直接附帶了這些功能,然后寫核心業務。

 

所以,直接這也取決於,我就做一個小項目,別一上來就部署五六個站點。這一點“工廠型企業” 和 “互聯網企業” 有很大區別。(不過后續在公司推廣 “大框架”概念,慢慢的公司的人也接受大框架的概念了)

從大框架 轉為了小框架, 導致了我對 前后端分離,都產生了猶豫,雖然我給Victory框架制定了這么一個發展路線。

1.x   前后端不分離,雖然使用Vue 但是更多的是做MVVM 數據綁定。主要技術選項: Core3.1 (mvc) + Sqlserver+  FreeSql  + Bootstarp + Jquery + AdminLte + Vue

2.x    前后端分離,完全使用Vue,前端統一elemnet-ui,主要技術選項:  Core3.1 (mvc) + Sqlserver+  FreeSql  + Vue +  vue-element-admin

 

至此,在登錄方式上,我們就產生了三種方式:

1,基於id4  ,做SSO授權中心, 這個估計公司認可我的思路之后,有機會做大框架架構的時候,才有機會實施。

2,基於 Authorize, 這個是Core過濾器 自帶這么一個 功能,直接用就好了。

3,基於Jwt , 做前后端分離以及客戶端進行對接的時候,等Victory 2.0  實施的時候 就可以用這種方式去實施。

 

今天重點講的還是 基於core 自帶的登錄功能,也是最簡單的一種,三步走:

 

step1:將身份認證中間件添加到容器中:

 

 

 

 

step2:制作一個登錄界面,登錄成功將信息寫入cookie:

  

 

 

step3: 在需要登錄之后才能訪問的頁面控制器上打上 過濾器標簽:

 

 

 

 

 

 三步即可完成一個登錄了, 方便了很多,傳統的方式是 去寫一個session,然后每個控制用基類里面 添加 session判斷去處理驗證登錄。

 

這里就簡單的講了一下 如何用  Authorize 過濾器 去實現登錄功能,另外還列了一下 另外兩種,一個是大框架的 Id4,一個前后端分離的Jwt,

當然我這里這么分類 也不一定正確, Id4 也可以使用 jwt 做數據傳輸。  他們三種實現登錄的方式並不是 一個並列關系,硬要並列Jwt 應該是和Cokkie是一種並列關系。

 

所以這里我的Victory1.0 是使用 Authorize 基於Cookie 實現,等升級到2.0的時候 ,我會去基於Jwt 的格式去實現。

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM