Aracılığıyla paylaş


SecurityTokenService.GetOutputClaimsIdentity Yöntem

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, bu yöntem verilen belirteçte dahil edilecek çıkış konularının bir koleksiyonunu döndürür.

protected:
 abstract System::Security::Claims::ClaimsIdentity ^ GetOutputClaimsIdentity(System::Security::Claims::ClaimsPrincipal ^ principal, System::IdentityModel::Protocols::WSTrust::RequestSecurityToken ^ request, System::IdentityModel::Scope ^ scope);
protected abstract System.Security.Claims.ClaimsIdentity GetOutputClaimsIdentity (System.Security.Claims.ClaimsPrincipal principal, System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request, System.IdentityModel.Scope scope);
abstract member GetOutputClaimsIdentity : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken * System.IdentityModel.Scope -> System.Security.Claims.ClaimsIdentity
Protected MustOverride Function GetOutputClaimsIdentity (principal As ClaimsPrincipal, request As RequestSecurityToken, scope As Scope) As ClaimsIdentity

Parametreler

principal
ClaimsPrincipal

ClaimsPrincipal Belirteç istek sahibinin kimliğini temsil eden bir.

request
RequestSecurityToken

RequestSecurityToken Güvenlik belirteci isteğini temsil eden bir. Bu, istek iletisinin yanı sıra yetkilendirme bağlamı gibi istemciyle ilgili diğer bilgileri içerir.

scope
Scope

Scope İstekle ilişkili bağlı olan taraf hakkında bilgi içeren. Bu, yöntemi tarafından GetScope(ClaimsPrincipal, RequestSecurityToken) döndürülen nesnedirScope.

Döndürülenler

ClaimsIdentity Verilen güvenlik belirtecinde yer alacak talep koleksiyonunu içeren.

Örnekler

Bu konuda kullanılan kod örneği örnekten Custom Token alınmıştır. Bu örnek, Basit Web Belirteçlerinin (SWT) işlenmesini sağlayan özel sınıflar sağlar ve SWT belirtecini sunabilen pasif bir STS uygulamasını içerir. Etkin bir STS'nin nasıl uygulanabileceğine ilişkin bir örnek için örneği görebilirsiniz Federation Metadata . Bu örnekler ve WIF için kullanılabilen diğer örnekler ve bunların nereden indirileceği hakkında bilgi için bkz. WIF Kod Örneği Dizini. Aşağıdaki kod, STS'niz için talep döndürmek için yönteminin nasıl geçersiz kılınacaklarını GetOutputClaimsIdentity gösterir. Bu örnekte, İstek Güvenlik Belirteci (RST) iletisi yoksayılır ve STS'de kimliği doğrulanan kullanıcıyı temel alan bir talep koleksiyonu döndürülür.

/// <summary>
/// This method returns the content of the issued token. The content is represented as a set of
/// IClaimIdentity intances, each instance corresponds to a single issued token. Currently, the Windows Identity Foundation only
/// supports a single token issuance, so the returned collection must always contain only a single instance.
/// </summary>
/// <param name="scope">The scope that was previously returned by GetScope method</param>
/// <param name="principal">The caller's principal</param>
/// <param name="request">The incoming RST, we don't use this in our implementation</param>
/// <returns></returns>
protected override ClaimsIdentity GetOutputClaimsIdentity( ClaimsPrincipal principal, RequestSecurityToken request, Scope scope )
{
    //
    // Return a default claim set which contains a custom decision claim
    // Here you can actually examine the user by looking at the IClaimsPrincipal and 
    // return the right decision based on that. 
    //
    ClaimsIdentity outgoingIdentity = new ClaimsIdentity();
    outgoingIdentity.AddClaims(principal.Claims);

    return outgoingIdentity;
}

Açıklamalar

GetOutputClaimsIdentity yöntemi, yöntemi tarafından uygulanan belirteç verme işlem hattından çağrılırIssue. Belirtecin istek sahibine (parametre), gelen RST'ye (principalparametre) ve belirtecin hedeflendiği bağlı olan tarafa (requestparametre) göre verilen güvenlik belirtecine scope eklenecek talepleri içeren bir ClaimsIdentity döndürür. Bu yöntemdeki mantık öncelikli olarak aşağıdaki soruları yanıtlamakla ilgilidir:

  • Hangi talep türleri hedeflendiği RP'ye göre yanıta dahil edilmelidir? Genellikle bu, her RP için gerekli talep türü listelerinden RP başına veya isteğin özelliğini inceleyerek Claims istek başına temelinde belirlenir. Ancak yanıta dahil edilmesi gereken talepleri belirleme mantığı ve ayrıntıları tamamen sizin uygulamanıza bağlı.

  • Yanıttaki taleplere hangi talep değerleri atanmalıdır? Kimlik Sağlayıcısı (IP-STS) için bu genellikle gerekli talep türleri için değer döndürmek üzere bir depoya (veya başka bir varlığa) erişmek için istek sahibinin ClaimsPrincipal (parametresi tarafından principal sağlanan) bir veya daha fazla talebin kullanılması anlamına gelir. Federasyon Sağlayıcısı (R-STS) için bu genellikle isteği yerine getirmek için istek sahibinin gelen taleplerinde bir tür işleme gerçekleştirmek anlamına gelir; belki de istek sahibi tarafından sunulan bazı taleplerde filtreleme veya dönüştürme gerçekleştirirken diğerlerini değiştirilmemiş olarak geçirir. Elbette, yanıta hangi taleplerin dahil edilmesine karar verme durumunda olduğu gibi, bu taleplerin değerlerinin nasıl belirleneceğinin ayrıntıları ve mantığı uygulamanızdan kaynaklanır.

Uygulayanlara Notlar

Sınıfı uygulamanızda bu yöntemi geçersiz kılmanız SecurityTokenService gerekir.

Şunlara uygulanır

Ayrıca bkz.