ユーザー、アカウント マネージャー、および管理者という 3 つのロールを持つ MVC プロジェクトがあります。
管理者には、ユーザーとアカウント マネージャーを完全に制御できる独自の 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 = "" }));
管理エリアのホームのレンダリングを避けるために、エリアは何も設定されていません。
現在、これは機能していません。すでに持っているものを差し引いて、どこから始めればよいかさえわかりません。
提案を探しています。これは簡単な作業ではないように思われるため、すべてのヘルプが大歓迎です。
どうすればいいかわからない場合は、この質問をできる人に向けていただければ幸いです。
繰り返しますが、事前に感謝します。