다음을 통해 공유


UserNameSecurityTokenAuthenticator.ValidateUserNamePasswordCore 메서드

정의

파생 클래스에서 재정의되는 경우 지정된 사용자 이름과 암호를 인증하고 UserNameSecurityToken 보안 토큰에 대한 권한 부여 정책의 집합을 반환합니다.

protected:
 abstract System::Collections::ObjectModel::ReadOnlyCollection<System::IdentityModel::Policy::IAuthorizationPolicy ^> ^ ValidateUserNamePasswordCore(System::String ^ userName, System::String ^ password);
protected abstract System.Collections.ObjectModel.ReadOnlyCollection<System.IdentityModel.Policy.IAuthorizationPolicy> ValidateUserNamePasswordCore (string userName, string password);
abstract member ValidateUserNamePasswordCore : string * string -> System.Collections.ObjectModel.ReadOnlyCollection<System.IdentityModel.Policy.IAuthorizationPolicy>
Protected MustOverride Function ValidateUserNamePasswordCore (userName As String, password As String) As ReadOnlyCollection(Of IAuthorizationPolicy)

매개 변수

userName
String

보안 토큰과 연결된 사용자 이름입니다.

password
String

보안 토큰과 연결된 암호입니다.

반환

이 애플리케이션에 적용되는 권한 부여 정책의 집합을 포함하는 ReadOnlyCollection<T> 형식의 IAuthorizationPolicy입니다.

예제

protected override ReadOnlyCollection<IAuthorizationPolicy> ValidateUserNamePasswordCore(string userName, string password)
{
    if (!ValidateUserNameFormat(userName))
        throw new SecurityTokenValidationException("Incorrect UserName format");

    ClaimSet claimSet = new DefaultClaimSet(ClaimSet.System, new Claim(ClaimTypes.Name, userName, Rights.PossessProperty));
    List<IIdentity> identities = new List<IIdentity>(1);
    identities.Add(new GenericIdentity(userName));
    List<IAuthorizationPolicy> policies = new List<IAuthorizationPolicy>(1);
    policies.Add(new UnconditionalPolicy(ClaimSet.System, claimSet, DateTime.MaxValue.ToUniversalTime(), identities));
    return policies.AsReadOnly();
}
    Protected Overrides Function ValidateUserNamePasswordCore(ByVal userName As String, ByVal password As String) As ReadOnlyCollection(Of IAuthorizationPolicy)

        If Not ValidateUserNameFormat(userName) Then
            Throw New SecurityTokenValidationException("Incorrect UserName format")
        End If
        Dim setOfClaims As New DefaultClaimSet(ClaimSet.System, New Claim(ClaimTypes.Name, userName, Rights.PossessProperty))
        Dim identities As New List(Of IIdentity)(1)

        identities.Add(New GenericIdentity(userName))
        Dim policies As New List(Of IAuthorizationPolicy)(1)
        policies.Add(New UnconditionalPolicy(ClaimSet.System, setOfClaims, DateTime.MaxValue.ToUniversalTime(), identities))
        Return policies.AsReadOnly()

    End Function 'New
End Class

설명

ValidateUserNamePasswordCore 보안 토큰을 인증하려면 UserNameSecurityToken 메서드를 재정의합니다.

ValidateUserNamePasswordCore 메서드를 재정의할 때 다음과 같은 지침을 따릅니다.

이 메서드가 반환 될 때 null, Windows Communication Foundation throw를 SecurityTokenValidationException 예외입니다.

적용 대상