質問

私はアクションメソッドのための私の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値を変更します
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top