2016-05-02 25 views
0

私はASP.NET MVCでカスタム認証を実装しています、と私は、ログインにリダイレクトの問題を抱えている発行/ページの登録ユーザーがログインしていない場合。私が使用しているカスタム認証が

グローバル変数IsAuthenticatedの場合、これが偽であればすべてリクエストをAccount/LoginIndexコントローラにリダイレクトしたいと思います。私はDRYに違反し、すべてのコントローラーでフィルターや基本チェックを追加したくないので、アクションにリダイレクトできるエントリーポイントがありますか?ブール値はfalseに評価されますか?どうすればいい?私はActionFiltersを見ましたが、どこに属性として追加するのか分かりません。また、フィルターを見て、global.asaxファイルを修正しました。これは動作しません。コントローラは、ログインしているユーザに依存しています(それ以外の場合はエラーが集中しています)。どうすればいいですか?ありがとう。

答えて

1

public class FilterConfig 
{ 
    public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new AuthorizeAttribute()); 
    } 
} 

以下のようにあなたがそれを承認

[OverrideAuthorization] 
public class AccountController : Controller 

にあなたを必要としないように、そして、ログインを扱うお使いのコントローラで使用すると、認証フィルターをオーバーライドする必要があり、グローバルフィルタを使用してAuthorizeAttributeを登録することができますAuthorizeAttributeから継承するカスタムクラスを実装することもできます。カスタムクラスを作成するには、承認用のカスタムビヘイビアが必要な場合にグローバルフィルタを使用してカスタムクラスを登録します。