手把手擼套框架 登入設計

2022-01-12 04:30:40 字數 1973 閱讀 4389

目錄

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

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

這讓6月份剛入職時候的我,上來就準備以sso(單點登入)的方式去處理,基於identityserver4 (以下簡稱id4)完成了乙個。

這個我就不多說了,關於這個的資料,網上實在太多了,最後專案發布的時候,後來公司只給我乙個子網域名稱的許可權,這個當時就尷尬了。

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

所以放棄了 使用 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 的格式去實現。

手把手擼套框架 關於2 0的一些暢想

目錄 2.0的開發基本上算是遙遙無期,除非還有今年上半年那樣的疫情,導致在家關一兩個月這種情況。讓我有足夠的時間去一邊學習一邊改進。但是關於2.0的話,隨著時間推移,還是有很多想法在時不時從我腦子中蹦躂出來。閒來無事就記錄一下 1,資料庫的設計要從rbac 01中簡化出來,要去掉一些不必要的表 元素...

Vue CLI 手把手教你擼外掛程式

現如今 vue 作為主流的前端框架之一,其健全的配套工具,活躍的開源社群,讓廣發碼農熱衷追捧。vue cli 作為其官方的開發構建工具,目前已更新迭代到 4.x 版本,其內部整合了日常開發用到的打包壓縮等功能,簡化了常規自己動手配置 webpack 的煩惱。另外提供的外掛程式功能更是滿足了使用者定製...

手把手教你做好OKR設計

對於團隊來說,最好是每個季度召開一次專門的會議,以制定未來一季度okr,由團隊負責人或者顧問在會議中提供引導。一 okr制定前需要思考的問題 作為乙個顧問,在召開會議前需要思考如下幾個問題 1.參會物件,哪些人需要參與?根據團隊規模來確定,根據公司級 部門級 專案級等不同規模確定參會物件,至少需要o...