У меня есть проект MVC с тремя ролями: пользователями, менеджерами учетных записей и администраторами.Разрешить администраторам олицетворять пользователей с помощью iframe
Администраторы имеют свою собственную зону MVC, где они имеют полный контроль над пользователями и менеджерами учетных записей. Я пытаюсь реализовать функции, позволяющие администраторам просматривать сайт как любой пользователь или менеджер аккаунта.
В области администратора сайта у меня есть список пользователей и менеджеров учетных записей. Список содержит кнопку «View Site As User» для каждой записи.
Я никогда не делал ничего подобного, но ViewAs
Действие контроллера в настоящее время создана для создания сеанса с информацией о выбранном пользователе, например, так:
ViewBag.SiteSession = Session["SiteSession"] = new SiteSession()
{
ID = user.ID,
AccountID = user.AccountID,
DisplayName = user.DisplayName,
IsManager = user.IsAdmin,
IsAdmin = false
};
Взгляд отношение к этому действию имеет Модель определяется как string
, и ничто иное, как IFrame с моделью в качестве атрибута src
, например, так:
@model string
<iframe src="@Model" >
</iframe>
То, что я пытаюсь сделать, это делает какой бы часть сайта была просьба в этом iframe. Когда администратор нажимает «Просмотр как пользователь», я хотел бы перейти на главную страницу. URL-адрес генерируется через этот звонок:
Url.Action("Index", "Home", new { Area = "" }));
Район не имеет ничего общего с тем, чтобы не доставлять Дом Администратора.
В настоящее время это не работает. Я не знаю, с чего начать, минус, что у меня уже есть.
Я ищу любые предложения. Вся помощь очень ценится, так как это не похоже на легкую задачу.
Если вы не знаете, как помочь, было бы также полезно, если бы вы могли направить этот вопрос кому-то, кто может это сделать.
Опять же, спасибо заранее.
Я определенно не хочу «Предварительный просмотр» Я на самом деле не уверен, что из где вы это сделали. Я хочу по существу выдавать себя за пользователей. – Kehlan
Я назвал его «предварительным просмотром», так как вы показываете отдельно в iframe, сохраняя оригинальный интерфейс неповрежденным. Может быть, моя терминология ошибочна, но я подразумеваю под олицетворением, так это то, что вы просто изменили бы оригинальный интерфейс, чтобы отображать как олицетворенного пользователя (с возможностью прекратить олицетворение, являясь единственной разницей). Олицетворение бок о бок кажется сложнее, так как на сервере нет способа без параметра запроса, чтобы рассказать разницу между запросами из окна iframe/enclosing. – tvanfosson