ServiceCredentialsSecurityTokenManager.CreateSecurityTokenAuthenticator Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy wystawcę uwierzytelniającego tokenu zabezpieczającego na podstawie elementu SecurityTokenRequirement.
public:
override System::IdentityModel::Selectors::SecurityTokenAuthenticator ^ CreateSecurityTokenAuthenticator(System::IdentityModel::Selectors::SecurityTokenRequirement ^ tokenRequirement, [Runtime::InteropServices::Out] System::IdentityModel::Selectors::SecurityTokenResolver ^ % outOfBandTokenResolver);
public override System.IdentityModel.Selectors.SecurityTokenAuthenticator CreateSecurityTokenAuthenticator (System.IdentityModel.Selectors.SecurityTokenRequirement tokenRequirement, out System.IdentityModel.Selectors.SecurityTokenResolver outOfBandTokenResolver);
override this.CreateSecurityTokenAuthenticator : System.IdentityModel.Selectors.SecurityTokenRequirement * SecurityTokenResolver -> System.IdentityModel.Selectors.SecurityTokenAuthenticator
Public Overrides Function CreateSecurityTokenAuthenticator (tokenRequirement As SecurityTokenRequirement, ByRef outOfBandTokenResolver As SecurityTokenResolver) As SecurityTokenAuthenticator
Parametry
- tokenRequirement
- SecurityTokenRequirement
Wymaganie dotyczące tokenu zabezpieczającego.
- outOfBandTokenResolver
- SecurityTokenResolver
Gdy ta metoda zwraca wartość , zawiera element SecurityTokenResolver. Ten parametr jest przekazywany jako niezainicjowany.
Zwraca
Wystawca uwierzytelniającego tokenu zabezpieczającego.
Wyjątki
tokenRequirement
to null
.
Nie można utworzyć wystawcy uwierzytelniającego tokenu zabezpieczającego dla przekazanego tokenRequirement
elementu .
Przykłady
Poniższy kod jest przykładem zastępowania tej metody.
internal class MyServiceCredentialsSecurityTokenManager :
ServiceCredentialsSecurityTokenManager
{
ServiceCredentials credentials;
public MyServiceCredentialsSecurityTokenManager(ServiceCredentials credentials)
: base(credentials)
{
this.credentials = credentials;
}
public override SecurityTokenAuthenticator CreateSecurityTokenAuthenticator
(SecurityTokenRequirement tokenRequirement, out SecurityTokenResolver outOfBandTokenResolver)
{
// Return your implementation of the SecurityTokenProvider based on the
// tokenRequirement argument.
SecurityTokenAuthenticator result;
if (tokenRequirement.TokenType == SecurityTokenTypes.UserName)
{
MessageDirection direction = tokenRequirement.GetProperty<MessageDirection>
(ServiceModelSecurityTokenRequirement.MessageDirectionProperty);
if (direction == MessageDirection.Input)
{
outOfBandTokenResolver = null;
result = new MySecurityTokenAuthenticator();
}
else
{
result = base.CreateSecurityTokenAuthenticator(tokenRequirement, out outOfBandTokenResolver);
}
}
else
{
result = base.CreateSecurityTokenAuthenticator(tokenRequirement, out outOfBandTokenResolver);
}
return result;
}
}
Friend Class MyServiceCredentialsSecurityTokenManager
Inherits ServiceCredentialsSecurityTokenManager
Private credentials As ServiceCredentials
Public Sub New(ByVal credentials As ServiceCredentials)
MyBase.New(credentials)
Me.credentials = credentials
End Sub
Public Overrides Function CreateSecurityTokenAuthenticator(ByVal tokenRequirement As SecurityTokenRequirement, _
<System.Runtime.InteropServices.Out()> _
ByRef outOfBandTokenResolver _
As SecurityTokenResolver) As SecurityTokenAuthenticator
' Return your implementation of the SecurityTokenProvider based on the
' tokenRequirement argument.
Dim result As SecurityTokenAuthenticator
If tokenRequirement.TokenType = SecurityTokenTypes.UserName Then
Dim direction = tokenRequirement.GetProperty(Of MessageDirection)(ServiceModelSecurityTokenRequirement.MessageDirectionProperty)
If direction = MessageDirection.Input Then
outOfBandTokenResolver = Nothing
result = New MySecurityTokenAuthenticator()
Else
result = MyBase.CreateSecurityTokenAuthenticator(tokenRequirement, _
outOfBandTokenResolver)
End If
Else
result = MyBase.CreateSecurityTokenAuthenticator(tokenRequirement, _
outOfBandTokenResolver)
End If
Return result
End Function
End Class
Uwagi
Program rozpoznawania outOfBand
tokenów może opcjonalnie zostać zwrócony przez metodę , która jest używana przez procesor zabezpieczeń WCF do rozpoznawania tokenów, które nie znajdują się w komunikacie PROTOKOŁU SOAP podczas przetwarzania zabezpieczeń. Element SecurityTokenAuthenticator zwracany przez tę metodę weryfikuje tokeny i wyodrębnia oświadczenia. Jeden SecurityTokenAuthenticator jest tworzony dla każdej klasy pochodzącej z ServiceModelSecurityTokenRequirementklasy .