2009-10-09 31 views
5

可能性の重複:私は私のMVCアプリケーション用のカスタム認証モデルを作成するために探していますが、どこを実装するために、私はよく分からない
Is it possible to create a Logon System with ASP.NET MVC but not use the MembershipProvider?ASP.Net MVCカスタム認証

私のカスタムIPrincipalクラスとIIdentityクラス。私はサイトのすべてのページが認証を必要としないので、毎回のリクエストでGlobal.asaxでこれをしたくありません。だから私の質問はどこですか?ユーザーがログインする必要がある操作のカスタムアクションフィルターでこれを実行する必要がありますか?

メンバーシッププロバイダまたはフォーム認証を使用したくない場合は、完全にカスタム化され、分離されている必要があります。

+0

これは開かれているはずです。リストされた重複リンクは認証をカバーしますが、認証はカバーしません。 –

答えて

0

コントローラー用の別個のベースクラスを作成することを検討しましたか?

次のようなもの...、ユーザーが認証されているかどうかを確認するためにOnActionExecutingイベントを上書きすることができます。

Public Class AuthenticatedPageController 
    Inherits Controller 

    Protected Overrides Sub OnActionExecuting(ByVal filterContext As ActionExecutingContext) 
    // Code to check user is authenticated - if not chuck them to the log in page... 

    End Sub 


End Class 

はその後、ユーザーが認証する必要のあるページのすべてのコントローラは、このクラスから継承します標準コントローラークラスの代わりに使用します。

+0

これは私が欲しいものですが、現在のコンテキストユーザオブジェクトをチェックすると、デフォルトで作成されたものではなく、IPrincipalオブジェクトの実装になります。 – Gazeth