Я работаю над основным приложением 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
A
ответ
0
Простая
if(User.HasClaim(yourAdminClaim))
{
//do admin stuff and pass to view
}
else
{
//do user stuff and pass to view
}
Администратор хочет войти в учетную запись пользователя на доступ к abc.com/user/{username}, не подписывая из своего собственного счета администратора. Вход через эту ссылку должен быть таким же, как и при обычном входе. –