1. 找到项目中的Web.config配置文件。
2. 找到下列代码 :
<authentication mode="Windows" />
将其改成 :
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name=".ASPXAUTH"></forms>
</authentication>
3. 找到
<authorization> <allow users="*" /> </authorization>
更换成 :
<authorization> <deny users="?"></deny> </authorization>
4. 编写登陆代码 :
private void BtnLogin_Click(object sender, System.EventArgs e)
{
if(TxtUserName.Text=="Admin" && TxtPwd.Text=="Admin")
{
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(TxtUserName.Text,false);
}
}
OR
private void BtnLogin_Click(object sender, System.EventArgs e)
{
if(TxtUserName.Text=="Admin" && TxtPwd.Text=="Admin")
{
System.Web.Security.FormsAuthentication.SetAuthCookie(TxtUserName.Text,false);
Response.Redirect("Default.aspx");
}
}
以上两种都可发放验证后的 Cookie ,即通过验证,区别:
方法 a)
指验证后返回请求页面。比如:用户没登录前直接在 IE 地址栏输入 http://localhost/Default.aspx ,那么该用户将看到的是 Login.aspx?ReturnUrl=Default.aspx ,输入用户名与密码登录成功后,系统将根据“ReturnUrl”的值,返回相应的页面
方法 b)
则是分两步走:通过验证后就直接发放 Cookie ,跳转页面将由程序员自行指定,此方法多用于 Default.aspx 使用框架结构的系统。
5. 退出的代码 :
private void BtnLogOut_Click(object sender, System.EventArgs e)
{
System.Web.Security.FormsAuthentication.SignOut();
}
6. 如何判断验证与否及获取验证后的用户信息
if(User.Identity.IsAuthenticated)
{
//已通过验证
//User.Identity 还有两个属性AuthenticationType(验证类型)与 Name(用户名称)
}