Запуск нового решения MVC3 на сервере разработки ASP.NET VS2010;где база данных членства? - PullRequest
1 голос
/ 09 июля 2011

В предисловии я скажу: я не очень понимаю, как провайдеры членства работают в ASP.NET, и я пытаюсь понять их лучше.

Я простосоздал новое решение MVC3 в VS2010.Я могу запустить его на сервере разработки 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.");
        }
    }

.класс Membership для проверки имен пользователей и паролей, зарегистрированных через веб-сайт MVC3.Это прекрасно, я понимаю, но ... как именно это работает?Особенно на сервере разработки ASP.NET?

Есть ли база данных, которую я могу как-то открыть, посмотреть и посмотреть, какую тестовую информацию я ввел?Где это?

Как я уже сказал, я не очень понимаю, как это работает - и если я не могу понять это для сервера разработки ASP.NET, то я, конечно, не смогувыяснить это в IIS.Я прочитал документацию Microsoft Введение в членство , но не думаю, что она действительно помогает объяснить, как это работает на более низком уровне;кажется, просто сказать, что членство «встроено» - хорошо, это круто, но в этой истории должно быть что-то большее, верно?

1 Ответ

3 голосов
/ 09 июля 2011

Как только вы зарегистрируете пользователя, извлеките папку ~/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ваша производственная среда вместо локального хранения в некоторых файлах.

...