利用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");

以前做网站是都是每张页面都要写代码,这样是不是就轻松多了呢?

posted on 2006-08-07 18:25  xing  阅读(600)  评论(1编辑  收藏  举报