ASP.NET窗体身份验证详解 |
|
asp.net的身份验证类型如下: 在我们实际的工作中,froms身份验证用的还是比较多的,我们接下来详细说一下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms name="save" loginUrl="login.aspx" protection="All">
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
说明: 进行设置后,如果我们直接访问main.aspx页面,那么会跳转到login.aspx 。
我们在登录按钮下写上如下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace LastTest
{
public partial class login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (true) //可以通过查询数据库 验证用户是否合法
{
//被注释的这两行语句相当于最下面的语句 就是保存用户后转回到原来的页面 。
//System.Web.Security.FormsAuthentication.SetAuthCookie(TextBox1.Text, chkIsSavePwd.Checked);
//Response.Redirect("main.aspx");
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, chkIsSavePwd.Checked);
}
else
{
}
}
}
}
当然们也可以删除身份验证,退出登录,我们在主界面上加一个注销按钮:
注销下的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace LastTest
{
public partial class main : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//从浏览器删除from验证票证
System.Web.Security.FormsAuthentication.SignOut();
//重新回到登录页面
Response.Redirect("login.aspx");
}
}
}
当然,如果一个系统就有几个人用的话,那么我们也可以添加固定用户,然后对用户的密码可以进行加密:如果MD5加密或者SHA1,当然也可以使用clear(明文,不安全) 。 以上就是关于ASP.NETt的窗体身份验证,希望对大家的学习有所帮助 。 |