1. 程式人生 > >asp.net mvc 最簡單身份驗證 [Authorize]通過的標準

asp.net mvc 最簡單身份驗證 [Authorize]通過的標準

dmi api 什麽 rgs new auth 單身 mar name

    [Authorize]
        public ContentResult Index2()
        {
            return Content("驗證通過了");
        } 

經常能夠看到某個Controler下的Action通過這個標簽進行登錄權限狀態的校驗,否則該Action不執行。但是滿足什麽條件才能通過Authorize這個過濾器的校驗呢?答案:↓

 public WebApiApplication()
        {
            PostAuthenticateRequest += WebApiApplication_PostAuthenticateRequest;
        }

        
/// <summary> /// 獲取到了用戶的身份信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void WebApiApplication_PostAuthenticateRequest(object sender, EventArgs e) { //身份驗證邏輯 //關鍵代碼 HttpContext.Current.User = new
MyUser() { code = "admin", name = "admin" }; }

在Global.asax中添加如下代碼即可。意思就是在application管道事件中觸發了“獲取到了用戶身份信息”的事件裏,獲取用戶身份信息並進行校驗後,給HttpContext.Current.User賦值即可。需要註意的是,MyUser需要實現IPrincipal接口。

感悟:

天天都在談論各種高深的技術、各種裝逼,最簡單的基本應用都不知道,代碼跟了半天才找到,問題是問了一圈都不知道,哎……

asp.net mvc 最簡單身份驗證 [Authorize]通過的標準