FormsAuthenticationModule使用ASP.NET MVC验证事件未触发

我们使用HttpModule挂钩到FormsAuthenticationModule并订阅Authenticate事件.当我们使用Web表单时,此事件将在模块中触发.当我们使用MVC时,此事件未触发.

我已经尝试使用控制器上的[Authorize]属性和web.config中的位置(即使这不是最佳做法)来尝试触发此事件,但它仍然没有.

使用Cassini Web服务器时会触发该事件,但不会在IIS 7.5或IIS Express上触发.我们使用.NET 3.5运行ASP.NET MVC 2

编辑

当我们请求.aspx或.ashx文件时,将触发Authentication事件.如果我们请求无扩展名文件或.css或.js,它也不会触发.

新的ASP.NET MVC应用程序将为请求的每个文件触发此事件.

有什么建议?

解决方法

我们的web.config缺少来自system.webServer中的modules元素的runAllManagedModulesForAllRequests =“true”.添加完成后,所有Web请求都会从FormsAuthenticationModule接收Authorization事件.

<system.webServer>
    ....
    <modules runAllManagedModulesForAllRequests="true">
    ....
</system.webServer>

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....