проверка подлинности форм управления входом

Я настраиваю элемент управления входом в систему для использования в своем веб-приложении и имею проблемы с проверкой пользователей. Я создал таблицы членства в своей собственной базе данных на сервере sql 2008, используя предложение на другом сайте. Затем я решил просто использовать аутентификацию с помощью форм и создал двух пользователей в WSAT и подумал, что это будет работать нормально. Но он возвращает false для всех пользователей, включая двух созданных мной. Почему это так, я не уверен, и если бы я использовал таблицы базы данных sql, как бы я это сделал?

<authentication mode="Forms">
 </authentication>
<authorization>
     <allow users="boy"/>
     <allow users="girl"/>
</authorization>
<roleManager enabled="true" />

код за логином:

If Page.IsValid then
   If username <>"" and password <>"" then
       If FormsAuthentication.Authenticate(username,passwprd) = False then
           Return false
       else
           response.redirect("~/default.aspx")
       End If
  End If
 End If

person vbNewbie    schedule 06.09.2011    source источник


Ответы (1)


Вам необходимо настроить файл web.config для использования файла MembershipProvider.

Подробнее см. здесь. Вы пытаетесь использовать SqlMembershipProvider?

Для аутентификации с помощью MembershipProvider используйте пользовательский элемент управления Login или вы можете создать свой собственный и вызвать следующие методы:

if (Membership.ValidateUser(username, password))
{
   FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
   FormsAuthentication.RedirectFromLoginPage(userName, createPersistentCookie); 
}
person TheCodeKing    schedule 06.09.2011
comment
Да... один вопрос. После добавления кода поставщика членства и добавления нового пользователя я увидел, что пользователь добавлен в таблицу пользователей в базе данных sql. Но пользователю по-прежнему отказано в доступе. Нужен ли мне код входа в систему, как если бы formauthentication.authenticate() - person vbNewbie; 07.09.2011