2017-02-03 10 views
0

Я работаю над основным приложением ASP.NET, которое имеет два типа пользовательских ролей: admin и user. user имеет свою собственную панель инструментов и другие страницы, а admin также имеет собственную панель инструментов и другие страницы. Оба пользователя регистрируются через одну и ту же страницу на странице и перенаправляются в тот же домен abc.com. Теперь admin хочет изменить настройки в учетных записях пользователей, обратившись к abc.com/User/{userName} (доступно только администраторам). Когда администратор посещает abc.com/User/{userName}, я хочу показать панель инструментов всех пользователей и настройки, как обычно, user увидит после входа в аккаунт на основе параметра userName. Если я вернусь к abc.com, тогда он отобразит учетную запись администратора, и если я перейду на abc.com/User/{userName}, он покажет мне эту конкретную учетную запись пользователя. Как мне это достичь? Я хочу, чтобы не писать дополнительный код, чтобы редактировать данные учетной записи пользователя с админкой. Будет проще получить доступ к учетной записи пользователя и изменить настройки там. Оба admin и user имеют одинаковый макет страницы и тот же контроллер, что и UserController.ASP.NET Core, использующий учетную запись пользователя из учетной записи администратора

ответ

0

Простая

if(User.HasClaim(yourAdminClaim)) 
{ 
//do admin stuff and pass to view 
} 
else 
{ 
//do user stuff and pass to view 
} 
+0

Администратор хочет войти в учетную запись пользователя на доступ к abc.com/user/{username}, не подписывая из своего собственного счета администратора. Вход через эту ссылку должен быть таким же, как и при обычном входе. –