国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[ASP.NET MVC] 利用自定義的AuthenticationFilter實現Basic認證

2019-11-17 01:29:23
字體:
來源:轉載
供稿:網友

[asp.net MVC] 利用自定義的AuthenticationFilter實現Basic認證

很多情況下目標Action方法都要求在一個安全上下文中被執行,這里所謂的安全上下文主要指的是當前請求者是一個經過授權的用戶。授權的本質就是讓用戶在他許可的權限范圍內做他能夠做的事情,授權的前提是請求者是一個經過認證的用戶。質詢-應答(Chanllenge-Response)”是用戶認證采用的一種常用的形式,認證方向被認證方發出質詢以要求其提供用于實施認證的用戶憑證,而被認證方提供相應的憑證以作為對質詢的應答。旨在目標Action方法執行之前實施身分認證的AuthenticationFilter也對這種認證方法提供了支持。

一、IAuthenticationFilter接口

所有的AuthenticationFilter類型均實現了IAuthenticationFilter接口,該接口定義在命名空間“System.Web.Mvc.Filters”下(其他四種過濾器接口都定義在“System.Web.Mvc”命名空間下)。如下面的代碼片斷所示,OnAuthentication和OnAuthenticationChallenge這兩個方法被定義在此接口中,前者用于對請求實施認證,后者則負責將相應的認證質詢發送給請求者。

   1: public interface IAuthenticationFilter
   2: {
   3:     void OnAuthentication(AuthenticationContext filterContext);
   4:     void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext);
   5: }

定義在IAuthenticationFilter接口的兩個方法都將一個上下文對象作為其唯一參數。OnAuthentication方法的這個參數類型為AuthenticationContext,如下面的代碼片斷所示,它是ControllerContext的子類。AuthenticationContext的ActionDescriptor返回的自然是用于描述目標Action方法的ActionDescriptor對象。借助于PRincipal屬性,我們可以獲取或設置代表當前用戶的Principal對象。如果我們在執行OnAuthentication方法的過程中設置了AuthenticationContext的Result屬性,提供的ActionResult將直接用于響應當前請求。

   1: public class ActionExecutingContext : ControllerContext
   2: {    
   3:     public ActionExecutingContext();
   4:     public ActionExecutingContext(ControllerContext controllerContext, ActionDescriptor actionDescriptor,IDictionary<string, object> actionParameters);
   5:  
   6:     public virtual ActionDescriptor             ActionDescriptor { get; set; }
   7:     public virtual IDictionary<string, object>  ActionParameters { get; set; }
   8:     public ActionResult                         Result { get; set; }
   9: }

OnAuthenticationChallenge方法的參數類型為AuthenticationChallengeContext。如下面的代碼片斷所示,它依然是ControllerContext的子類。它同樣具有一個用于描述目標Action方法的ActionDescriptor屬性,其Result屬性代表的ActionResult對象將用于響應當前請求。

   1: public class ActionExecutedContext :
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛隆县| 顺昌县| 夹江县| 土默特右旗| 林周县| 迁西县| 永平县| 太谷县| 夹江县| 河东区| 龙南县| 钦州市| 伊吾县| 卢龙县| 金沙县| 宽城| 清涧县| 丰顺县| 大化| 吴堡县| 宁远县| 嘉义市| 靖边县| 长海县| 博湖县| 潢川县| 阿瓦提县| 惠州市| 宜兰市| 江口县| 嘉峪关市| 扶风县| 广丰县| 岗巴县| 藁城市| 文化| 秭归县| 林西县| 德阳市| 龙川县| 岫岩|