2011-08-05 7 views
3

私は、ASP.Net MVC3のログインシステムを作成する際に、デフォルトのASP.Netメンバーシップ・プロバイダを使用せずにチュートリアルまたは小規模な入門ガイドを探しています。デフォルトのASP.Netメンバーシップ・プロバイダのないMVC3ログイン・システムの作成に関するチュートリアルはありますか?

私はインターネットアプリケーションテンプレートを使用して新しいMVC3プロジェクトを作成し、ここで_LogOnPartial.cshtmlの内容できました:

@if(Request.IsAuthenticated) { 
    <text>Welcome <strong>@User.Identity.Name</strong>! 
    [ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text> 
} 
else { 
    @:[ @Html.ActionLink("Log On", "LogOn", "Account") ] 
} 

は、メンバーシッププロバイダーの@User.Identity.Name一部ですか? ASP.Net MVC3のメンバーシップについてもう少し読んでみたいと思います。私はすでにユーザーの資格情報を使ってデータベースを用意しているので、prapackagedのものは必要ありません。

ありがとうございました!

+1

呼ぶことにしますメンバーシッププロバイダーとFormsAuthenticationプロバイダーを区別する場合は、具体的に...最新のプロジェクトでは、自分のユーザーのデータストアとパスワードのハッシュ/検証を書きましたが、FormsAuthenticationプロバイダを使用してユーザーのセッションを追跡しています。 –

答えて

4

実際には、ASP.NET MVCでカスタム認証コードを実装するのはかなり簡単です。

コントローラのLogOnメソッドでは、ユーザーの資格情報を認証した後にFormsAuthenticationプロバイダを呼び出す必要があります。このメソッドの呼び出し後

public ActionResult LogOn(LogOnModel model) 
{ 
    //Handle custom authorization then call the FormsAuthentication provider 

    FormsAuthentication.SetAuthCookie(/*user name*/, true); 

    //Return view 
} 

、User.Identity.Nameが取り込まれます、そして、あなたのコントローラまたはコントローラのメソッドにAuthorizeAttributeを利用することができます。お使いのコントローラのLogOff方法で

私は、特定のチュートリアルのための提案を持っていないが、私は、ユーザーオブジェクトはの一部ではないと言うことができ、再びをFormsAuthenticationプロバイダ

public ActionResult LogOff() 
{ 
    FormsAuthentication.SignOut(); 

    //Return view 
} 
+0

SignInメソッドが見つかりません。あなたはそこにいると確信していますか? –

+0

@Sergioそのことについて申し訳ありません、私は私のラッパークラスに持っていた名前を誤って使用していました。そのFormsAuthentication.SetAuthCookie –

関連する問題