首先讲的这个东西是针对后台数据访问的
比如我的后台是admin文件夹.那么我除非登陆成功才可以访问里面的东西.
那么除了Session对象判断.和Cookies来判断还能用到
FormsAuthentication.RedirectFromLoginPage 登录
首先我们在网站的根目录下的
web.config配置
<authentication mode="Forms">
<forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>
</authentication>
name=".ASPXUSERDEMO"是默认的可写可不写
后面的大家参加我另外转载的一篇文章
http://www.cnblogs.com/haik/archive/2010/05/01/1725793.html
-----------------------------上面是身份验证的
-----------------下面是授权的
<authorization>
<deny users="?"/>
</authorization>
也是写在web.config配置里.
但是这个web.config我们得放到
需要做判断的文件夹下.比如我们写的admin文件夹下.
呵呵,这个东西很爽的,当用了FORM认证,如果你没有登录,不管你打开的哪页
,都会进入指定的登录页面,登录完成后,又能返回你指定的页...
我们在用的页面这样写
login.aspx中:
FormsAuthentication.RedirectFromLoginPage(userid,false);
Response.Redirect("zzz.aspx");
RedirectFromLoginPage是封装了传登录信息,必须要是 mode="Forms"才能传,Response.Redirect转页。
得这个值是Page.User.Identity.Name //得到userid的值
FormsAuthentication.RedirectFromLoginPage(userid,false); //两个参数 一个字符串 一个Cookies对象
System.Web.Security.FormsAuthentication.SetAuthCookie(this.txtname.Text,true);
Response.Redirect(“”);
这二行代码实现你在填写登录名和密码后,成功就转到你想转的页面。
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(this.txtname.Text,false);
这一行代码实现你在填写登录名和密码后,成功就转到原先你想到的页面。
这后面的参数“false”说明是否永久保留cookie。True则表示永久保留,下次访问就不用输入密码了,否则断开本次链接后,下次还需要输入密码。这次参数也可以由用户选择,因为考虑到安全性,可以在用户名或密码的傍边放个checkbox,原来的语句可以为:
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(this.txtname.Text,this.CheckBox.Checked);
注:cookie的登出为:
System.Web.Security.FormsAuthentication.SignOut();