一个简单的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" OnClick="btnSignout_Click"/>
</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 && txtUsername.Text != String.Empty && txtPassword.Text != null && 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="用户名:"/>

<asp:Textbox id="txtUsername" runat="server"/>
<br>
<br>
<asp:Label id="lblPassword" runat="server" Text="密 码:"/>

<asp:Textbox id="txtPassword" runat="server" TextMode="password"/>
<br>
<asp:button id="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" />

</form>
<hr>
<br>
<asp:Label id="lblError" forecolor="red" runat="server"/>
</BODY>
</HTML> 




本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2009/09/22/1571695.html,如需转载请自行联系原作者

相关文章
|
存储 开发框架 .NET
实战解读ASP.NET Core身份认证
长话短说:上文我们聊了 ASP.NET Core 基于声明的访问控制到底是什么鬼? 今天我们乘胜追击:聊一聊ASP.NET Core 中的身份验证。
实战解读ASP.NET Core身份认证
|
.NET 数据安全/隐私保护 开发框架
|
前端开发 .NET 开发框架
asp.net mvc的Filter来验证Forms 判断是否登录,角色权限以及错误处理(转)
asp.net mvc里的Filter真的是个很好的东西.之前看教程每次看到讲解Filter的地方总有模糊.今天在做测试项目的时候.管理员后台管理的时候.我在每个Action里都先验证了一下是否登录.结果做了7,8个Action的时候发现这样是不是有点太累了?脑袋里马上灵光一闪.
830 0
|
前端开发 .NET 开发框架
ASP.NET Web Forms 4.5的新特性(三):Model Binding
在前两篇文章中,我们了解到了ASP.NET Web Forms 4.5四个新特性:强类型数据控件和Bundling、针对HTML5的更新和Unobtrusive Validation。 在介绍强类型控件的时候只是简单介绍了下它具有ItemType的属性,可以设置强类型值进行绑定,如果只是引入了这个属性,那么有点像语法糖,没什么实际意义。
792 0
|
前端开发 JavaScript .NET
ASP.NET Web Forms 4.5的新特性(一):强类型数据控件和Bundling
在微软线上发布了Visual Studio 2012后,我们也能清晰地看到ASP.NET Web Forms 4.5中的一些新特性了。 今天先看两个新特性:强类型数据控件和Bundling。 强类型数据控件 在出现强类型数据控件前,我们绑定数据控件时,前台一般使用Eval或者DataBinder.Eval(Container.DataItem,"FieldName")的形式。
1031 0
ASP.NET Web Forms 4.5的新特性(一):强类型数据控件和Bundling