語言

ClaimsAuthenticationManager 類別

定義

定義了理賠認證管理器的基礎實作。 理賠認證管理器在理賠處理流程中提供一個位置,讓它能在執行到達應用程式碼前,對進入主體的理賠集合套用處理邏輯(過濾、驗證、擴展)。

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)

適用於