什麼是單點登錄統一認證:假如某公司旗下有10個網站(比如各種管理網站:人事系統啊,財務系統啊,業績系統啊等),我是該公司一管理員或者用戶,按照傳統網站模式是這樣:我打開A網站 輸入賬號密碼 然後進入到A網站辦點事,辦完之後,我有需要到B網站去辦點事,這個時候又需要輸入賬號密碼,假如你還要到C網站辦點 ...
什麼是單點登錄統一認證:假如某公司旗下有10個網站(比如各種管理網站:人事系統啊,財務系統啊,業績系統啊等),我是該公司一管理員或者用戶,按照傳統網站模式是這樣:我打開A網站 輸入賬號密碼 然後進入到A網站辦點事,辦完之後,我有需要到B網站去辦點事,這個時候又需要輸入賬號密碼,假如你還要到C網站辦點事,又再需要輸入賬號密碼。。。。。
為瞭解決這個問題,所以出現了單點登錄統一認證:即 該改管理員 登錄了其中一個網站得到了ids4的授權之後,他再登入該公司旗下其他網站的時候不需要在輸入賬號密碼,能夠直接進入後臺辦事! 這就是單點登錄統一認證!
本文章目的:
使用IdentityServer4做一個單點登錄統一認證的例子。我會用最簡潔的代碼和最能讓新手懂的方式,來完成這個例子,不會像官方例子一樣讓新手看起來很吃力,因為我自己就體驗過那種感覺^_^
1.用戶訪問一個MVC網站 A,A網站發現用戶沒有登錄授權,然後跳轉到ids4服務去登錄
2.如果用戶在ids4的登錄頁面上輸入了正確的賬號密碼(從資料庫某個用戶表驗證),則跳轉回A網站,然後A網站就可以顯示相關的內容
前言:
博主為了研究ids4,把官方文檔斷斷續續看了幾遍,還有網上的很多大神文章都看了下,一句話,看的很累!一直沒有找到這麼純粹又實用的例子,經過千難萬苦的研究,終於有點成果,現在我決心把這些東西試著以最簡單的方式寫出來給大家參考,即使你是菜鳥跟著我的步驟來 你也能做出來!大神就忽略哈,如有指教或者建議,請留言!
有興趣愛好一起學習交流netcore相關技術的加群:275080612
開發環境:
vs2017 、net Core 2.1、sqlserver2012
一。搭建IdentityServer4服務端
打開VS2017,新建 netcore項目: 名字叫:IdentityS4, 然後選擇webMVC這個,如下圖:
引進安裝依賴項:IdentityServer4