繁体   English   中英

MVC3自定义属性可拒绝HTTP动词

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM