Я создаю приложение 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, поэтому не уверен, что я ' Я скучаю по большому нет-нет здесь. Спасибо!