快速业务通道

ASP.NET安全问题--Froms验证的具体介绍(中篇)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
="60"
              path="/"
              protection="All">

        <credentials>
           <user name="xiaoyang" password="xiaoyang"/>
           <user name="panyan" password="panyan"/>
         </credentials>

      </forms>
  </authentication>

见上面的  <credentials>节点,就是我们存放的用户信息。上面的信息是以明文(没有加密)的形式存放。我们也采用加密的方式存放,只要配置如下:<credentials  passwordFormat="MD5">,配置 passwordFormat的加密方式就行了。那么用户在传输之前就会被加密。

还有就是把用户信息存储在数据库中,我们后面会讲述的,也是最常用的方式。

web.config配置的一些用法

1.在web.config中添加用户凭证

我们之前说过了,ASP.NET的身份验证中,对于如何存储用户凭证提供了很大的灵活性。默认情况下是把凭证存储在web.config中的。

我们还是来看看之前配置的一些节点信息:

<authentication mode="Forms ">
        <forms name="MyCookie"
              loginUrl="Login.aspx"

              timeout="60"
              path="/"
              protection="All">

         <credentials>
           <user name="xiaoyang" password="xiaoyang"/>
           <user name="panyan" password="panyan"/>
         </credentials>

        </forms>
   </authentication>

在<credentials>中就是我们存储的用户的一些信息。不知道大家是否还记得我们之前已经说过了的Authenticate方法:只有把用户信息存放在了配置文件中,我们才可以使用这个方法,代码如下(判断提交的用户信息是否合法):

bool IsAuthenticate= FormsAuthentication.Authenticate(userName, userPassword);

2.拒绝匿名用户访问

其实这是与用户授权的问题现关联的,关于授权问题,我们以后谈,这里只是简单的提下,算是预热吧!

我们可以拒绝匿名用户访问我们的网站,只要配置如下:

<authorization>
       <deny users="?"/>
   </authorization>

谈起这个节点,还是有一些话题的,这个我们在专门讲述授权的时候具体谈。现在我们的重点是验证!

Forms验证一些简单的使用

其实对于任何一种验证来说,无非就是提供输入用户信息的界面,也就是常见的登录页面。登录页面可以很简单:只要提供输入用户名和密码的输入框就行了,而登录页面的功能就是验证输入信息是否正确,如果正确就创建身份验证的票据并且保存在cookie中。

下面就看看一个简单的页面以及代码的实现:

注:界面很简单,大家可能会想到ASP.NET现有的Login控件,但是Login是基于MemberShip的。现在谈MemberShip还过早,因为我们后面文章专门的讲解从Forms验证到MemberShip的自然过渡,那样大家就可以很清楚的知道MemberShip到时怎么回事。

代码部分,其实主要是"登录"按钮背后的代码:

protected void  btnLogin_Click(object sender, EventArgs e)
{

     if (FormsAuthentication.Authenticate(txtUserName.Text, txtUserPasswork.Text))
        {
             FormsA

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号