Как использовать элемент управления ASP.NET без использования MembershipProvider?

Это ответвление этого вопроса.

  • Как использовать элемент управления Login, если у меня нет MembershipProvider, чтобы указать его?
  • Я правильно понимаю модель использования?
  • Разве разумно говорить об использовании элемента управления Login без MembershipProvider?
  • Дозировать MembershipProvider сделать больше, чем просто проверку имени пользователя/пароля?
  • Было бы разумнее создать мой собственный MembershipProvider с той же логикой аутентификации?

В моем случае мне не нужен MembershipProvider (я думаю), поскольку моя ситуация с аутентификацией тривиальна (один пользователь, один пароль).

Меня частично интересует "будущее доказательство" моей страницы, а отчасти потому, что я новичок и интересуюсь, как работает материал. (Я, как правило, узнаю о вещах, запустив полную скорость в каждый угловой случай, который я могу найти:)

Ответ 1

Вы можете просто оставить элемент управления asp: Login на своей странице, а затем в коде позади, поймайте событие аутентификации входа в систему.

В событии Authenticate проверьте имя пользователя/пароль, которые пользователь ввел. Имя пользователя/пароль - это свойства в элементе управления входами. (Login.UserName, Login.Password)

Если имя пользователя/пароль верны, просто установите для свойства args Authenticated объекта значение True.

Не требуется членский провайдер.

ех. На странице aspx..

<asp:Login ID="LoginCtrl" runat="server" DestinationPageUrl="YouAreIn.aspx"></asp:Login>

В коде ниже

Private Sub Log_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles LoginCtrl.Authenticate
    If LoginCtrl.UserName = "Hello" AndAlso LoginCtrl.Password = "Hello" Then
        e.Authenticated = True
    End If

С#

void MyLogin_Authenticate(object sender, AuthenticateEventArgs e)
{
    if(UserName == "Hello" && Password == "Hello")
        e.Authenticated = true;
}

Ответ 2

Если у вас нет провайдера членства и на самом деле нет системы безопасности, просто поместите два поля в форму (имя пользователя, пароль) и проверьте ее при нажатии кнопки.

Элемент управления входами явно перегружен тем, что вы пытаетесь сделать.

Ответ 4

Вам нужно будет сделать собственный поставщик проверки подлинности и подключить его через web.config. http://www.devx.com/asp/Article/29256