AuthorizeAttribute
ログインページにメッセージを表示するカスタムを作成しました。これがコードです。
public class MyAuthorizeAttribute : AuthorizeAttribute
{
public string Message { get; set; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
bool authorized = base.AuthorizeCore(httpContext);
if (!authorized)
{
httpContext.Items["LoginFailMessage"] = Message;
}
return authorized;
}
}
私の行動で私はします
[MyAuthorize(Message = "Please login to continue")]
public ActionResult Detail()
HttpContext.Current.Items["LoginFailMessage"]
現在、ビュー内のアイテムにアクセスできません。問題は、アイテムが 1 回のリダイレクト呼び出しに対してのみ存在するのに、認証の失敗が複数回のリダイレクトを引き起こしていることです。
それで、私が問題を解決できる方法はありますか?正確にはどこからメッセージを渡す必要がありますか?
編集
私がしようとしているのは、匿名ユーザーが何かの簡単な説明を見ることを許可されているとします。
説明とともに、edit
とdetail
リンクがあります。と の両方edit
でdetail
、ユーザーはログインする必要があります。そのため、どちらかをクリックすると、ユーザーはログイン ページにリダイレクトされます。
ユーザーがクリックするedit
とメッセージが表示され、Please login to edit
クリックdetail
するとplease login to see detail
ログインページに表示される場合があります。