利用web.config来实现登陆验证
一般我们做网站是都有一个后台管理程序,比如说放在admin文件夹里,如果直接访问一般都是跳转到登陆页,如果你以前都是用cookies的话,那每张后台页面都要写代码,而且还不能方便的做到,登陆成功后不能自动根据当前所请求的页而跳转回去,在asp.net要实现这个功能就很简单了,
首先,在你的后台管理文件夹里新建一个web.config,代码如下:
<configuration>
<system.web>
<authorization>
<!--?是不允许匿名访问-->
<deny users="?" />
</authorization>
</system.web>
</configuration>
其次在你的asp.net项目根目录里的Web.config修改authentication部分,代码如下:
<authentication mode="Forms">
<forms name="login" loginUrl="admin/login.aspx" protection="All"></forms>
</authentication>
注意:
login是cookies的名字,最好取一个特别不一样的,如公司的名称
protection="All"是把cookies加密
loginUrl 是没有验证时,将自动跳转到admin/login.aspx页面
OK,准备工作都做好了,接下来,实践一下吧,
登陆前台界面,不写代码了,直接看图还清楚一点
登陆按钮代码:
if(如果用户密码正确)
{
System.Web.Security.FormsAuthentication.RedirectFromLoginPage("login",true);
}
这样就会自动跳转到用户所请求的网页了.这样登陆就做好了,但登陆一次以后访问就直接进入了,所以我们再加个注销按钮就OK了.
注销按钮代码:
System.Web.Security.FormsAuthentication.SignOut();
Response.Redirect("login.aspx");
以前做网站是都是每张页面都要写代码,这样是不是就轻松多了呢?