2009-07-23 66 views
10

这是this question的分支。如何在不使用MembershipProvider的情况下使用ASP.NET登录控件?

  • 如果我没有MembershipProvider指向它,我该如何使用Login控件?
  • 我是否正确理解使用模型?
  • 谈论如何使用Login控件而不使用MembershipProvider是否合理?
  • 剂量MembershipProvider做的不仅仅是用户名/密码检查吗?
  • 使用相同的验证逻辑创建我自己的MembershipProvider会更合理吗?

在我而言,我并不需要一个MembershipProvider(我认为)我的验证的情况是微不足道的(一个用户,一个密码)。

我对部分感兴趣的部分是“未来证明”我的网页,部分原因是我是新来的,想知道如何工作。 (我倾向于通过全速跑入每个角落的情况来了解事情,我可以找到:)

回答

23

您可以在页面中放置asp:Login控件,然后在代码后面捕获Login Control的Authenticate事件。

在Authenticate事件中,检查用户输入的用户名/密码。用户名/密码是登录控件中的属性。 (Login.UserName,Login.Password)

如果用户名/密码正确,只需将事件参数Authenticated属性设置为True即可。

不需要会员提供。

ex。在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 

C#

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

如果您没有会员服务提供商,并且没有真正的安全系统可言,只需在表格(用户名,密码)上放置两个框并在按钮点击时进行测试。

登录控制显然是矫枉过正,你试图做什么。

+0

你现在可能是正确的。此外,这迫使我想出如何处理cookie和重定向以及什么。 – BCS 2009-07-23 23:22:45

+0

我没有遇到麻烦创建一个cookie,我只是没有使用过它,而不愿意现在学习。 – BCS 2009-07-23 23:36:42

相关问题