2012-06-11 12 views
0

我在我的MVC 3应用程序中实现了JavaScript文件上传功能,因此我需要使用Http Handler(.ashx)来允许大文件上传。现在我需要以某种方式禁止未经身份验证的用户调用处理程序的方法。如果我有一个控制器,我只需要将[Authorize] attibute应用于它。但是,该属性是否适用于Http Handler的方法?如果不是,我怎么才能让只有拥有当前会话cookie的人才可以打电话给Http Handler?在ASP.NET MVC 3应用程序中设置ashx处理程序的自动化规则

回答

5

您可以使用<location>部分在你的web.config,以拒绝~/upload.ashx匿名用户访问:

<location path="upload.ashx"> 
    <system.web> 
     <authorization> 
      <deny users="?" /> 
     </authorization> 
    </system.web> 
</location> 

备注:从未使用<location>标签来控制与ASP.NET MVC控制器行动的授权和路线。使用内置的[Authorize]属性来修饰相应的控制器/操作。

相关问题