[转]ASP.NET中的forms验证
本文转自:http://www.cnblogs.com/fengzheng126/archive/2012/04/06/2435513.html
ASP.NET的安全认证:Windows验证 (默认)、none、Passport、Forms Froms验证 一、开启Forms验证 1、打开web.config配置文件 2、找到<authentication mode="Windows"/> ,修改为 <authentication mode="Forms"> <forms loginUrl="login.aspx" defaultUrl="default.aspx" name=".ASPX"></forms> </authentication> 即将login.aspx设为默认登录页,如果系统检测到用户未登录,则自动跳转到login.aspx页面;默认主页为:default.aspx;后缀名为:.ASPX; 添加<authorization>,设置访问权限 <authorization> <deny users="?" ></deny> <!--问好代表匿名用户,*代表阻止所有用户--> </authorization> 如果使用Forms验证,就需要用FormsAuthentication类来实现验证过程,FormsAuthentication类经常和Membership类结合使用,进行用户的登录验证。 创建身份验证 Cookie SetAuthCookie ( string userName, bool createPersistentCookie ) ,第二个参数:若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。 string username = TextBox1.Text.Trim(); string password = TextBox2.Text.Trim(); if(登陆成功) { FormsAuthentication.SetAuthCookie(username,false); Response.Redirect("default.aspx"); //登录成功的话,跳转到主页 } 返回原始请求url RedirectFromLoginPage ( string userName, bool createPersistentCookie ) 将经过身份验证的用户重定向回最初请求的 URL 或默认 URL。第二个参数:若要创建持久 Cookie(跨浏览器会话保存的 Cookie),则为 true;否则为 false。 string username = TextBox1.Text.Trim(); string password = TextBox2.Text.Trim(); if(登陆成功) { FormsAuthentication.RedirectFromLoginPage(username, false); //登录成功的话,跳转到原始请求页 } 删除 Forms 身份验证 SignOut () ;通常用于注销用户或用户退出登录。 login.aspx.cs中登录按钮的事件代码: protected void Button1_Click(object sender, EventArgs e) { string username = TextBox1.Text.Trim(); string password = TextBox2.Text.Trim(); FormsAuthentication.RedirectFromLoginPage(username, false);//自动转到原始请求页 //跳转到网站首页 //FormsAuthentication.SetAuthCookie(username,false); //Response.Redirect("default.aspx"); } default.aspx.cs中的代码: 1、label1标签显示用户名:Label1.Text = Context.User.Identity.Name;//在cookie中提取用户名 2、注销登录按钮: FormsAuthentication.SignOut(); FormsAuthentication.RedirectToLoginPage();//退出后重定向到登录页,这两行是配合使用的。
posted on 2014-07-30 16:05 freeliver54 阅读(301) 评论(0) 编辑 收藏 举报