加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 10:01:38 所属栏目:asp.Net 来源:网络整理
导读:我们使用HttpModule挂钩到FormsAuthenticationModule并订阅Authenticate事件.当我们使用Web表单时,此事件将在模块中触发.当我们使用MVC时,此事件未触发. 我已经尝试使用控制器上的[Authorize]属性和web.config中的位置(即使这不是最佳做法)来尝试触发此事件,
我们使用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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读