asp.net 简单的身份验证

时间:2024-01-13 22:43:44

1 通常我们希望已经通过身份验证的才能够登录到网站的后台管理界面,对于asp.net 介绍一种简单的身份验证方式

首先在webconfig文件中添加如下的代码

<!--身份验证-->
<location path="admin">(location表示授权的策略,path特性告诉asp.net framework,希望保护以admin开头的URL页面)
<system.web>
<authentication>
<deny users="?"></deny>
</authentication>
</system.web>
</location> <system.web>
<authentication mode="Forms">(这里设置身份验证的策略,采用最简单的方式窗体身份验证,mode特性设置验证的方式)
<forms loginUrl="~/Pages/Login.aspx">(forms元素告诉asp.net framework当用户请求受验证保护的页面时,需要先进行身份验证,跳转到
Login.aspx页面
) </forms> </authentication> </system.web>

2 登录界面Login.aspx的后台如下

  public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
string name = Request.Form["name"];
string password = Request.Form["password"];
if (name!=null&&password!=null&&FormsAuthentication.Authenticate(name,password))
{
FormsAuthentication.SetAuthCookie(name, false);
Response.Redirect(Request["ReturnUrl"]??"/");
}
else
{
ModelState.AddModelError("fail","Login failed.Please try again");
}
}
}
}

3 我自己添加了一个admin的用户来通过验证

  <system.web>
<authentication mode="Forms">
<forms loginUrl="~/Pages/Login.aspx">
<credentials passwordFormat="Clear">
<user name="admin" password=""/>
</credentials>
</forms>
</authentication>
</system.web>