您的位置:知识库 » .NET技术

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

作者: 小洋(燕洋天工作室)  来源: 博客园  发布时间: 2009-05-31 11:09  阅读: 4567 次  推荐: 0   原文链接   [收藏]  
摘要:本篇主要讲述Forms验证一般的使用方法,也给出一些代码。
[1] 启用Forms身份验证
[2] 用户信息的存储
[3] Forms验证一些简单的使用

  用户信息的存储

  我们一般把用户的信息,如用户名和密码存放在数据库中。如之前一篇文章说的,我们也可以把用户的用户名和密码信息直接放在web.config文件中。 Forms验证其实对把用户凭证信息放在哪里提供了很大的灵活性。默认情况下是放在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>节点,就是我们存放的用户信息。上面的信息是以明文(没有加密)的形式存放。我们也采用加密的方式存放,只要配置如下:<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>

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

0
0
标签:ASP.NET Forms

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻