一个简单的ASP.NET Forms 身份认证

当访问默认首页default.aspx时,会自动跳转到login.aspx页面上请求登录,随便输入用户名和密码,点击“登录”按钮,会回到首页,并显示当前登录的用户名。

Web.config
<configuration>
<system.web>
  <compilation debug="true"/>
  <authentication mode="Forms">
  <forms loginUrl="login.aspx" name = ".ASPXFORMSAUTH" />
  </authentication>
  <authorization>
  <deny users="?"/>
  </authorization>
</system.web>
</configuration>

default.aspx
<HTML>
<HEAD>
<TITLE>首页</TITLE>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, e As EventArgs)
  Message.Text = String.Format("你好,{0}", Context.User.Identity.Name)
End Sub
sub btnSignout_Click(Sender as Object, E as EventArgs)
  FormsAuthentication.SignOut()
  Response.Redirect("login.aspx")
end sub  </script>
</HEAD>
<BODY>
<asp:label id="Message" runat="server"/>
<br>
<form method="post" runat="server">
<asp:button id="btnSignout" Text="退出登录" runat="server" />
</form>
</BODY>
</HTML>

login.aspx
<HEAD>
<TITLE>首页</TITLE>
<script lanugage="c#" runat="server">
private void Page_Load(object sender, EventArgs e)
{
  if (Request.IsAuthenticated)
    Response.Redirect("default.aspx");
}
void btnLogin_Click(Object sender, EventArgs e)
{
  if (txtUsername.Text != null &;amp;&;amp; txtUsername.Text != String.Empty &;amp;&;amp; txtPassword.Text != null &;amp;&;amp; txtPassword.Text != String.Empty)
  FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);
  else
  lblError.Text = "错误的用户名/密码";
}
</script>
</HEAD>
<BODY>
<form method="post" runat="server">  <asp:Label id="lblUsername" runat="server" Text="用户名:"/>
&;amp;nbsp;&;amp;nbsp;&;amp;nbsp;
<asp:Textbox id="txtUsername" runat="server"/>
<br>
<br>
<asp:Label id="lblPassword" runat="server" Text="密 码:"/>
&;amp;nbsp;&;amp;nbsp;&;amp;nbsp;
<asp:Textbox id="txtPassword" runat="server" TextMode="password"/>
<br>
<asp:button id="btnLogin" runat="server" Text="登录"  />  </form>
<hr>
<br>
<asp:Label id="lblError" forecolor="red" runat="server"/>
</BODY>
</HTML>

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Asp.Net] 的这些文章也感兴趣:

AjaxWorld Keynote: Ajax in the Balance
保存图片到SQL2000Server数据库
ASP.NET中常用的优化性能方法
为.net Blog 添加 计数器
asp.net入门来一遍----数据存取
C#中数据库操作
一种安全、高效、简单的登陆算法
ASP.NET 2.0中直接将Access数据库导入到Excel文件中
在Ultraedit中用宏实现将选中的代码设置为注释
Web Control 开发系列(三) 解析IPostBackEventHandler和WebForm的事件机制