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 выполняйте следующие рекомендации.
В случае невозможности проверки маркера безопасности, переданного в качестве параметра
token
, создается исключение SecurityTokenValidationException.Если для данного приложения отсутствуют действующие политики авторизации, возвращается пустой объект ReadOnlyCollection<T> типа IAuthorizationPolicy.
Когда этот метод возвращает null
, Windows Communication Foundation создает SecurityTokenValidationException исключение.