asp.net身份验证代码

来源: 60站长交易平台 日期: 2018-10-20 09:47:36 人气: -

  一般来说,网站的身份验证(Experimental)方式都会经过以下几个步骤(procedure): 


    1、输入用户名和密码,单击确定按钮。 

    2、在后台判断用户名和密码是否正确,如果错误返回提示;如果正确,进入可访问的页面。 

    在ASP时代,通常都会在验证(Experimental)用户名和密码是否匹配之后,创建一个Session,然后在每个需要验证的页面中判断Session是否存在,如果存在,则显示页面内容;如果不存在,产生提示,并跳转到登录页面。 

    但是,在asp.net时代,这个过程(process)就给大大的减化了,不再需要在每个需要验证(Experimental)的页面中去校验Session,只需要进行如下几步,就可以完成身份验证过程。 

    第一步:修改web.config文件。 

    1、在<system.web>和</system.web>中找到<authentication>节,将其改为“<authentication mode="Forms" />”,其中Forms代表使用(use)表单认证。 

    2、<system.web>和</system.web>中添加“<authorization><deny users=""/></authorization>”,其中“<deny users="?"/>”代表拒绝所有的匿名用户。源码交易就是买卖双方对网站源码或商业源码进行磋商谈判的一单生意,指源码买卖的通称。交易有风险,操作需谨慎! 

    第二步:创建login.aspx文件。 

    在经过第一步之后,无论用户访问网站中的哪个文件,只要没有经过身份验证(Experimental),asp.net会自动跳转到login.aspx网页上,并且在URL中使用(use)ReturnUrl参数(parameter)来传递用户当前访问的网页。 

    假设用户没有经过身份验证(Experimental)就直接访问test.aspx文件,那么asp.net会自动跳转了login.aspx网页,此时浏览器窗口中的地址栏中的URL为:“login.aspx?ReturnUrl=%2ftest.aspx”,因此,可以在身份验证通过后,再将网页跳回到ReturnUrl参数指定的网页上去。 

    第三步:在login.aspx文件中验证(Experimental)身份。 

    身份验证(Experimental)方式比较简单,一般都是创建一个文本框和一个密码框,用户输入用户名和密码后,单击提交按钮,则去数据(data)库(Database)中验证身份,详细过程(process)就不写了,在此只要输入的用户名为1,密码为2就认为身份验证通过。 

    身份验证(Experimental)完毕之后,使用(use)FormsAuthentication.SetAuthCookie()为用户创建一个身份验证的票据,并将其添加到Cookie中。源码交易就是买卖双方对网站源码或商业源码进行磋商谈判的一单生意,指源码买卖的通称。交易有风险,操作需谨慎!以后,再访问网站中的其他网页,就不需要使用进行身份验证了。单击提交按钮后的代码(code)如下所示。


GOOGLE PRotected void Button1_Click(object sender, EventArgs e) 

//身份验证(Experimental)方式,本例中用户名为1,密码为2 
if (TextBox1.Text == "1" && TextBox2.Text == "2") 

/* 
* 为用户名创建一个身份验证(Experimental)票据,并将其添加到响应的Cookie中 
* SetAuthCookie的第一个参数(parameter)为已验证(Experimental)的用户的名称。 
* SetAuthCookie的第二个参数为true时代表创建持久Cookie(跨浏览器会话保存(Save)的 Cookie),为false则关闭浏览器后要重新验证(Experimental)身份 
*/ 
FormsAuthentication.SetAuthCookie(TextBox1.Text, false); 

//如果URL中没有传递(transmission)ReturnUrl参数,则跳转到Default.aspx,否则跳转到ReturnUrl参数值指定的网页 
if (string.IsNullOrEmpty(Request.QueryString["ReturnUrl"])) 

Response.Redirect("Default.aspx"); 

else 

Response.Redirect(Request.QueryString["ReturnUrl"].ToString()); 

}
    短短三步,就可以进行身份验证,是不是很COOL? 

    本例在VS2005中测试(TestMeasure)通过。 

    本例的优点是:过程(process)和代码(code)十分简单。源码交易你购买人家的网站,当然也少不了网站源码程序和数据,这个你一定要注意,当交易后,一定要对方发一份网站源码程序和数据给你,不要对方说在空间上麻烦,你自己去下载吧。这样的话你一定不要信,有的骗子就是这样的,当你钱付了后,他马上就改源码程序和数据,在源码程序中加一些人为的bug。你购买后一定要认真的仔细检查源码程序,这是为你以后减少麻烦事打好基础的。在网站接手之后一定要先检查后,没有问题后才完全付款。这样也给骗子下手源码程序减少机率。 

    本例的缺点是:对整个网站都必须要进行身份验证(Experimental),不能指定哪些文件可以匿名访问,哪些文件不能匿名访问。