2011-07-09 6 views
1

ここでは、メンバーシッププロバイダがASP.NETでどのように機能しているかを理解していないので、理解しています。VS2010 ASP.NET開発サーバーで新しいMVC3ソリューションを実行します。会員データベースはどこですか?

VS2010で新しいMVC3ソリューションを作成しました。私はASP.NETの開発サーバー内で実行することができます。しかし、ちょっと混乱しているのは、ASP.NET開発サーバー内でフォーム認証がどのように機能しているかです。

AccountController.csの株式バージョンを考えてみましょう:

[HttpPost] 
public ActionResult LogOn(LogOnModel model, string returnUrl) 
{ 
    if (ModelState.IsValid) 
    { 
     if (Membership.ValidateUser(model.UserName, model.Password)) 
     { 
      FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); 
      if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") 
       && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) 
      { 
       return Redirect(returnUrl); 
      } 
      else 
      { 
       return RedirectToAction("Index", "Home"); 
      } 
     } 
     else 
     { 
      ModelState.AddModelError("", "The user name or password provided is incorrect."); 
     } 
    } 

それはMVC3ウェブサイトを通じて登録されたユーザー名とパスワードを検証するためにMembershipクラスを使用しています。それは素晴らしいです、私はそれを取得しますが...どのように正確に機能しますか?特にASP.NET開発サーバー内では?

私は何とか開いて見て、私が入力したテスト情報を見ることができるデータベースはありますか?それはどこにある?

私が言ったように、私はこれがどういう仕組みをしているのか分かりません。もしASP.NET開発サーバーでは分からないのであれば、IISでそれを理解することはできません。私はMicrosoftののドキュメントを読んだことがありますが、これが下位レベルでどのように機能しているかを説明するのは本当にうまくやっていません。メンバーシップは「組み込み」だと言えるようです - それはクールですが、それ以上の話が必要ですね。

答えて

3

ユーザーチェックアウトを登録すると、アプリケーションの~/App_Dataフォルダーが登録されます。それがデータベースのデフォルト設定です。もちろん、実行中のSQLExpressインスタンスが必要な場合もあります。

はあなたのweb.configファイルを開き、これを見て:

<connectionStrings> 
    <add name="ApplicationServices" 
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

その後、接続文字列を変更し、代わりにいくつかのファイルにローカルに格納する本番環境での実際のSQL Serverデータベースを使用することができます。

+0

ああ、意味があります。ちょうどそれをチェックアウトした、それはまさに私が探していたものでした。 – themechanix1

関連する問題