微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐