1

Я работаю над приложением mvc 5 и настроил WS Federation для аутентификации с использованием внешнего IP-адреса. Однако, исходя из функциональности приложения, роли пользователей должны управляться самим приложением. Администратор приложения разрешит разный уровень доступа к приложению из области администрирования приложения. и поскольку я впервые работаю с ASP.NET Identity, я теряюсь от того, как двигаться дальше отсюда.Как реализовать внешнюю аутентификацию с местными требованиями в mvc 5

  • Нужно ли мне реализовать пользовательский ClaimsAuthenticationManager для этого?
  • Нужно ли также реализовать UserManager для создания локального списка пользователей, чтобы иметь возможность управлять своими требованиями?

Любое направление/помощь приветствуется.

Спасибо,

ответ

0

Вы можете добавить внешние требования в переопределении в CreateUserIdentityAsync.

Это добавит только роли с логином Федеративные:

public override async Task<ClaimsIdentity> CreateUserIdentityAsync(ApplicationUser user) 
{ 
    var externalIdentity = 
     await AuthenticationManager.GetExternalIdentityAsync(DefaultAuthenticationTypes.ExternalCookie); 

    var localIdentity = await user.GenerateUserIdentityAsync((ApplicationUserManager)UserManager); 
    foreach (var item in externalIdentity.Claims.Where(x => x.Type == ClaimTypes.Role)) 
     localIdentity.AddClaim(new Claim(ClaimTypes.Role, item.Value)); 

    return localIdentity; 
} 
Смежные вопросы