2004-9-4 + forms验证的verbs选项

在vs.net默认带的web.config文件关于froms验证的部分,authorization节的提示中只有users和roles两个配置选项,其实这个节有三个选项的,大家可以看sdk文档里的介绍,少的那个是verbs选项,“一个逗号分隔的 HTTP 传输方法列表,这些 HTTP 传输方法被授予对资源的访问权限。注册到 ASP.NET 的谓词为 GET、HEAD、POST 和 DEBUG”。
可是我今下午去图书馆查书,甚至找了两本关于.net安全性编程的专著,也没有发现关于对这个的详细的说明,因此在这里我只能和大家讨论一下get和post了。
对get和post相信大家都很熟悉。用户可以请求服务器向其发送一个诸如web页面、图片或mp3文件这样的资源。这被称为get请求。用户请求服务器执行一些处理,以便生成响应。这被称为post请求。如果我们在web.config里加这么一句:
<deny users="?" verbs="post"></deny>
这表示禁止匿名用户提出post请求,也就是说,用户可以浏览页面,但当用户企图向服务器发送数据以获得响应的时候,该请求不会被执行,当然页面在这个时候会被定向到login.aspx。如果在这里使用的是verbs="get",那么用户连浏览的权力都没有了。
我想这个在很多地方都可以派上用场,比如一个论坛,未登陆用户也可以浏览帖子(get),但是如果想发表回复或帖新话题(post),则必须要登陆才可以。
最后把和forms验证配置节有关的sdk文档的地址贴出来,方便查看。
<authentication> 元素
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpgenref/html/gngrfauthenticationsection.htm
<forms> 元素
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpgenref/html/gngrfforms.htm
<credentials> 元素
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpgenref/html/gngrfcredentials.htm
<user> 元素
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpgenref/html/gngrfuser.htm
<authorization> 元素
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpgenref/html/gngrfauthorizationsection.htm

posted on 2006-06-29 18:20  Notus|南色的风  阅读(243)  评论(0编辑  收藏  举报