如何使用表单身份验证而无需登录控制?

Job*_*ian 2 asp.net forms-authentication asp.net-membership custom-membershipprovider asp.net-authentication

如何在没有登录控制的情况下使用表单身份验证.我不想在我的站点中使用asp.net登录控件.但是我必须实现表单身份验证并验证我的数据库中的用户.

sku*_*kub 5

我假设您使用的是一些文本框(例如用户名/密码)和登录按钮,而不是使用登录控件.代码看起来像这样:

在您的aspx文件中

<asp:Textbox runat="server" ID="Username"/>
<asp:Textbox runat="server" ID="Password"/>
<asp:Button runat="server" ID="Login" OnClick="Login_OnClick"/>

<asp:Label runat="server" ID="Msg" >
Run Code Online (Sandbox Code Playgroud)

在服务器端:

public void Login_OnClick(object sender, EventArgs args)
{
if (Membership.ValidateUser(Username.Text,Password.Text))
{
     FormsAuthentication.RedirectFromLoginPage(Username.Text,
     NotPublicCheckBox.Checked);
}
else
Msg.Text = "Login failed.";
}
Run Code Online (Sandbox Code Playgroud)

表单身份验证通常由两部分组成:

  • 调用成员资格API来验证/验证用户
  • 使用FormsAuthentication API登录用户(创建身份验证cookie等)

有关更多信息,请查看以下文章: