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


    [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接口。

感悟:

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


免責聲明!

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



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