2017-02-03 178 views
0

我正在研究ASP.NET Core应用程序,它具有两种类型的用户角色adminuseruser拥有自己的仪表板和其他页面,admin也有自己的仪表板和其他页面。这两个用户都通过相同的登录页面登录并重定向到相同的域,例如abc.com。现在admin想要通过访问abc.com/User/{userName}(只能由管理员访问)更改用户帐户中的设置。当管理员访问abc.com/User/{userName}时,我想根据userName参数显示整个用户仪表板和设置,如正常user在登录帐户后会看到的。如果我回到abc.com那么它会显示管理员帐户,如果我去abc.com/User/{userName}它会显示我特定的用户帐户。我如何实现这一目标?我想避免编写额外的代码来从管理员端编辑用户帐户详细信息。访问用户帐户和更改设置将更加容易。 adminuser都具有相同的布局页面,并且相同的控制器被称为UserControllerASP.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},而不从自己的管理员帐户注销登录到用户帐户。通过此链接登录应该与正常登录相同。 –