1. 程式人生 > >asp net專案與開源單點登入專案CAS的結合

asp net專案與開源單點登入專案CAS的結合

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                       

這段時間搞的一個asp.net mvc專案,採用了單點登入。

這個單點登入就是CAS,一個開源的JAVA專案。當然,這並不影響ASP.NET專案結合它來進行登入。因為各自分工不同:單點登入(管它是不是單點)只負責賬戶校驗,而賬戶的登入資訊讀取,以及做何種進一步的處理,那是應用專案自己的事。

就好比,單點登入是寫字樓的安保。他在核實來訪者的來訪目的,進行來訪者身份登記,通過安檢之後,就放來訪者進這個大廈了。至於位於寫字樓裡的某家公司(應用專案)要如何接待這個來訪者,那是這家公司的事情。

總結如下:

1、採用 單點登入 + asp.net form認證
單點登入網站負責校驗;本專案負責儲存登入認證資訊。asp.net form認證為系統自帶

2、訪問本專案時,form認證首先檢查是否已認證(asp.net form認證本身機制),否的話跳到單點登入;是的話,由本專案進一步校驗。

3、本專案校驗,如果發現快取的登入資訊丟失,則根據form認證記錄的登入資訊(簡單),重新檢索登入資訊(詳細)並快取

4、無論單點登入、form認證還是本地快取,都依賴cookie。

5、form認證主要在web.config裡配置,程式碼裡也有應用。

6、本專案觸發登入資訊校驗的事件,在控制器的基類:AdminControllerBase.OnActionExecuting

這裡寫圖片描述

web.config:

    <!--Form認證設定Start-->    <authentication mode="Forms">      <forms name
=".ASPWeb" loginUrl="http://192.168.0.22:8080/cas/login"              timeout="2880" defaultUrl="~/Home/Index"     cookieless="UseCookies" slidingExpiration="true" enableCrossAppRedirects="true" path="/" />
    </authentication>    <authorization>      <deny users="?" />      <allow users="*" />    </authorization>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

AdminControllerBase.OnActionExecuting:

protected override void OnActionExecuting(ActionExecutingContext filterContext){...        if (this.LoginInfo == null)        {            LoginHelper.Instance.Login();            return;        }...}
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

LoginHelper.cs

public void Login(){    if (HttpContext.Current != null)    {        //是否已經form驗證?        string username = HttpContext.Current.User.Identity.IsAuthenticated ? HttpContext.Current.User.Identity.Name : "";        if (!string.IsNullOrEmpty(username))        {//如果當前使用者已登入單點登入系統            var loginInfo = 。。。            if (loginInfo != null)            {                //快取loginInfo...                                }        }        else        {            Logout();        }    }}
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

相關文章
asp.net forms認證

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述