Использование проверки подлинности с помощью форм без провайдеров .Net - PullRequest
1 голос
/ 16 января 2010

Я хочу защитить раздел моего веб-сайта, используя проверку подлинности с использованием имени пользователя и пароля, определенных мной в файле web.config.Когда я пытаюсь войти в систему, я получаю сообщение ниже.

Server Error in '/' Application.

Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.

Я предполагаю, что это происходит, потому что он пытается использовать таблицы Membership, как определено строкой подключения LocalSqlServer. Я не хочу использовать функции членства , как мне настроить это для моего веб-приложения?

Нужно ли мне самостоятельно писать функцию аутентификации для встроенного элемента управления входом в систему?

Ответы [ 2 ]

1 голос
/ 29 января 2010

Проблема не в вашем конфигурационном файле, а в элементе управления Login.

Элемент управления Login использует поставщика членства по умолчанию, который определен в machine.config. (Это SqlMembershipProvider, который указывает на базу данных SQL Express).

Вы вообще не хотите использовать поставщика членства по умолчанию. Просто создайте свою собственную страницу входа и используйте следующую серверную логику для проверки учетных данных и входа пользователя на сайт:

    if( Page.IsValid )
        if (FormsAuthentication.Authenticate(txtName.Text,txtPassword.Text)) 
            FormsAuthentication.RedirectFromLoginPage(txtName.Text, false);
        else
            lblMsg1.Text = "Wrong name or password. Please try again.";
0 голосов
/ 16 января 2010

Попробуйте это:

<authentication mode="Forms">
  <forms loginUrl="Login.aspx">
    <credentials>
      <user name="Joe" password="Smith" />
    </credentials>
  </forms>
</authentication>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...