[英]MVC3 Custom attribute to deny HTTP Verbs
在Asp.net Web应用程序中,我们可以使用web.config文件中的以下代码行拒绝HttpVerbs,但是MVC使用动作控制器进行路由,并使用Authorize属性进行授权。
因此,我们想创建自定义属性来处理此问题。
默认情况下,如何在所有操作方法上创建自定义属性以拒绝某些HTTP动词,并且仅允许HTTPGet和HTTPPost。
<deny verbs="*" users="*" />
如果要禁止除 GET和POST 之外的所有动词,则可以在web.config文件中执行以下操作。
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs allowUnlisted="false">
<add verb="GET" allowed="true" />
<add verb="POST" allowed="true" />
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
示例代码和其他阅读这里
通过将其放置在web.config中,可以“短路” .NET管道,并允许IIS选择是否应响应该请求(这对于您的应用程序更有效)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.