ClaimsAuthenticationManager 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義了理賠認證管理器的基礎實作。 理賠認證管理器在理賠處理流程中提供一個位置,讓它能在執行到達應用程式碼前,對進入主體的理賠集合套用處理邏輯(過濾、驗證、擴展)。
public ref class ClaimsAuthenticationManager : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public class ClaimsAuthenticationManager : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type ClaimsAuthenticationManager = class
interface ICustomIdentityConfiguration
Public Class ClaimsAuthenticationManager
Implements ICustomIdentityConfiguration
- 繼承
-
ClaimsAuthenticationManager
- 實作
範例
以下程式碼顯示一個簡單的理賠認證管理器,可在未檢查進來理賠的情況下,為進入的主體新增角色聲明。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Claims;
namespace MyClaimsAuthenticationManager
{
class SimpleClaimsAuthenticatonManager : ClaimsAuthenticationManager
{
public override ClaimsPrincipal Authenticate(string resourceName, ClaimsPrincipal incomingPrincipal)
{
if (incomingPrincipal != null && incomingPrincipal.Identity.IsAuthenticated)
{
((ClaimsIdentity)incomingPrincipal.Identity).AddClaim(new Claim(ClaimTypes.Role, "User"));
}
return incomingPrincipal;
}
}
}
以下 XML 顯示該 <claimsAuthenticationManager> 元素。
<system.identityModel>
<identityConfiguration>
<claimsAuthenticationManager type="MyClaimsAuthenticationManager.SimpleClaimsAuthenticatonManager, MyClaimsAuthenticationManager" />
...
</identityConfiguration>
</system.identityModel>
備註
理賠認證管理器在應用程式的理賠處理流程中提供一個可擴充點,你可以用來驗證、過濾、修改收到的理賠,或在執行 RP 應用程式代碼之前,將新理賠注入由 A ClaimsPrincipal 呈現的理賠集合中。 如果你的 RP 應用程式需要,你甚至可以回傳自訂實作 ClaimsPrincipal 。 該類別提供的 ClaimsAuthenticationManager 預設實作會回傳未修改的 ClaimsPrincipal 權利要求;然而,你可以從這個類別衍生出來,並覆寫 Authenticate 修改權利要求 ClaimsPrincipal 的方法(或回傳自訂 ClaimsPrincipal的)。
建立自訂理賠認證管理器的典型原因是基於只有 RP 應用程式知道或可能較善維護的資訊,新增、移除或轉換理賠。 例如,購物車應用程式中的顧客購買歷史可能被保存在 RP 應用程式維護的資料庫中,然後根據該申請主體中發現的名稱主張價值,由理賠認證管理器回傳的理賠主體中。
你可以透過程式ClaimsAuthenticationManager化使用類別,或透過 > 元素(>)在設定中設定 a。 你可以覆寫該 LoadCustomConfiguration 方法,為該元素的自訂子元素 <claimsAuthenticationManager> 提供處理,透過這些元素來設定自訂管理器。 基礎 ClaimsAuthenticationManager 實作不處理任何子元素。
將您的應用程式設定為使用聲明認證管理器,可以確保 Windows 身份基礎(WIF)會從請求管線中呼叫該管理器。
建構函式
| 名稱 | Description |
|---|---|
| ClaimsAuthenticationManager() |
初始化 ClaimsAuthenticationManager 類別的新執行個體。 |
方法
| 名稱 | Description |
|---|---|
| Authenticate(String, ClaimsPrincipal) |
當在派生類別中覆寫時,會回傳 ClaimsPrincipal 一個符合 RP 應用程式需求的物件。 預設實作不會修改輸入 ClaimsPrincipal的 。 |
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| LoadCustomConfiguration(XmlNodeList) |
在衍生類別中覆寫時,從 XML 載入自定義組態。 |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |