2009-05-24 15 views
0

認証が失敗した後で、(実行中のアクションに基づいて)追加されたパラメータを持つログインページに訪問者をリダイレクトしたいとします。ASP.NET MVC:認証後のログインページへのカスタムパラメータ

これは私がやりたいの例です:

ASP.NET MVC - CustomeAuthorize filter action using an external website for loggin in the user

しかし、これは、カスタムフィルタであることから、私はいつものように役割を指定する方法かどうかを知りません承認フィルタ私は何か好きです:

[CustomAuthorization(Roles="Admins")] 

ありがとう!

答えて

1

あなたはAuthorizeAttributeクラスから継承し、このような方法OnAuthorizeオーバーライドすることができます:

public override void OnAuthorization(AuthorizationContext filterContext) 
{ 
    base.OnAuthorization(filterContext); 
    if (!HttpContext.Current.User.IsAuthenticated) 
    { 
     filterContext.Result = new RedirectResult("target"); 

    } 
} 

次に、あなただけのAuthorizeAttributeのように、このカスタムフィルタを使用することができます。

0

ASP.Net MVCソースをダウンロードし、AuthorizeAttributeのコード(AutorizeAttribute.cs)を見てみましたか?

これは、既存のAuthorizeAttributeからあなたCustomAutorizationを導き出すために意味をなさないかもしれない - それをチェックアウトし、あなたが必要なfunctionallityにタックことができるかどうかを確認。

0

カスタムAuthorizationクラスでRequest.Formだけを使用することはどうでしょうか。それは結局のところPOST呼び出しです?実際よりももっと難しくしないでください。

関連する問題