ASP.NET作为其他人进行身份验证

时间:2011-02-19 08:38:26

标签: security asp.net-mvc-3 asp.net-membership

我即将开发一个ASP.NET MVC 3站点,其中将有两种不同类型的用户:全局管理员和本地管理员。

本地管理员可以管理自己的数据。全局管理员可以选择本地管理员并对该用户进行“模拟”排序。通过这个,我的意思是他最好能够看到相同的观点等。

您对如何实施此行为有何看法?

最诚挚的问候 肯尼斯

1 个答案:

答案 0 :(得分:0)

如果您使用的是forms authentication,则可以冒充任何用户:

[Authorize(Roles = "admin")]
public ActionResult BecomeGlobalAdmin()
{
    FormsAuthentication.SetAuthCookie("globaladmin", false);
    return RedirectToAction("index");
}

您可能还希望在会话中存储一些信息,这些信息表明用户实际上是管理员,但充当全局管理员(如果您需要此类功能)。