我有一个具有三个角色的 MVC 项目:用户、客户经理和管理员。
管理员有他们自己的 MVC 区域,他们可以完全控制用户和客户经理。我正在尝试实现允许管理员以任何用户或帐户经理的身份查看站点的功能。
在站点的管理区域中,我有一个用户和客户经理列表的视图。该列表包含每个记录的“以用户身份查看站点”按钮。
我以前从未做过这样的事情,但是ViewAs
控制器操作当前设置为使用所选用户的信息创建一个会话,如下所示:
ViewBag.SiteSession = Session["SiteSession"] = new SiteSession()
{
ID = user.ID,
AccountID = user.AccountID,
DisplayName = user.DisplayName,
IsManager = user.IsAdmin,
IsAdmin = false
};
与此 Action 相关的 View 将 Model 定义为 a ,除了一个以 Model 作为属性string
的 iframe 外,别无其他,如下所示:src
@model string
<iframe src="@Model" >
</iframe>
我想要做的是呈现在这个 iframe 中请求的网站的任何部分。当管理员单击“以用户身份查看”时,我想定向到主页。URL 是通过此调用生成的:
Url.Action("Index", "Home", new { Area = "" }));
区域设置为空,以避免呈现管理区域的主页。
目前,这不起作用。我什至不知道从哪里开始,减去我已经拥有的。
我正在寻找任何建议。非常感谢所有帮助,因为这似乎不是一件容易的事。
如果您不知道如何提供帮助,如果您能将这个问题直接交给可以提供帮助的人,我们将不胜感激。
再次,提前感谢。