AuthorizeAttribute拡張からのViewData []コレクションに追加します
-
20-09-2019 - |
質問
私はアクションメソッドのための私のAuthorizeAttributeをカスタマイズするための拡張クラスを書いて、私は一定の条件が満たされたとき、私の見解にメッセージを注入できるようにしたいと思います。 I「Mユーザが許可されていない場合に共有ビューをロードするには、以下のコードを使用しますが、それは私のViewDataをコレクションに私のメッセージを追加していない。任意のアイデア?
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (IsNotAuthorized)
{
filterContext.Result = new ViewResult { ViewName = "NotAuthorized" };
filterContext.Controller.ViewData["Message"] = "Go Away";
}
}
私もいない成功してビューを変更するには、コールの上に私のViewDataを[「メッセージ」]コレクションアイテムを設定しようとしました。
解決
あなたは試してみました。
filterContext.Result = new RedirectResult("Home/Index");
私はViewDataを追加する方法を知りませんが、これは、少なくとも許可されていないコントローラにあなたを取得します。
私はその間にまたは誰かがそれをポストするまで、データを表示するために追加するコードを探しておこう。
編集
これは役立つかもしれない;
でActionExecutingContext値を変更します所属していません StackOverflow