Должен ли я проверять пароли в ClaimsAuthenticationManager.Authenticate ()? - PullRequest
0 голосов
/ 15 апреля 2020

Я создаю приложение winforms, которое должно аутентифицировать пользователя с помощью пароля. Я хочу отделить аутентификацию пользователя от формы авторизации.

Из документации ClaimsAuthenticationManager :

Менеджер проверки подлинности утверждений предоставляет место в конвейере обработки утверждений для применения логики обработки c (фильтрация, проверка , расширение) коллекции утверждений во входящем субъекте до того, как выполнение достигнет кода вашего приложения.

Я не смог найти в сети никаких примеров типа утверждения "пароль", поэтому я хочу убедиться, что я не делаю что-то глупое здесь. Могу ли я сделать что-то вроде:

var claims = new List<Claim>
{
    new Claim(ClaimTypes.Role, role),
    new Claim(ClaimTypes.Name, username),
    new Claim("Password", password)
};

var unauthenticatedClaims = new ClaimsPrincipal(new ClaimsIdentity(claims));
try
{
    Thread.CurrentPrincipal = FederatedAuthentication.FederationConfiguration.IdentityConfiguration
        .ClaimsAuthenticationManager.Authenticate(string.Empty, unauthenticatedClaims);
}catch(SecurityException ex)
{
    MessageBox.Show(ex.Message);
}

А затем добавить исключение SecurityException в мой ClaimsAuthenticationManager, если пароль не совпадает?

Я просто узнаю о WIF, поэтому не уверен, что я ' Я скучаю по большому нет-нет здесь. Спасибо!

...