对于 MVC,Webform 的“UrlAuthorizationModule.CheckUrlAccessForPrincipal”等效项是什么?

2024-02-29

我在为我的公司编写自定义 SSO 解决方案时遇到了问题。为了简单起见,我制作了一个自定义身份验证http模块,它拦截所有请求以检查用户身份验证状态。如果未通过身份验证,用户将被重定向到我的自定义 sso 登录页面。

问题是,当用户未经身份验证时,我想检查他是否可以访问请求的页面/资源...使用 Webforms,没问题,我在 web.config 中添加一个授权块,然后使用UrlAuthorizationModule.CheckUrlAccessForPrincipal与匿名用户。一切正常...

但是当我将我的模块应用到MVC (3)网站,这不再起作用(出于明显的原因,例如使用路由时可以从不同的 url 访问相同的控制器和/或操作,并且因为授权是通过控制器属性进行的)。

我怎样才能做到这一点?我找了一整天了,没有找到任何相关信息:/


我有同样的问题。
请参阅此处的解决方案:MVC 相当于 Web 表单“UrlAuthorizationModule.CheckUrlAccessForPrincipal” https://stackoverflow.com/questions/19038186/mvc-equivalent-of-webforms-urlauthorizationmodule-checkurlaccessforprincipal/19038664?noredirect=1#19038664

您必须从其他控制器读取信息。这 可以通过实例化它的上下文和描述符来完成,然后 实例化该控制器的 AuthorizationContext 并读取 过滤器信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于 MVC,Webform 的“UrlAuthorizationModule.CheckUrlAccessForPrincipal”等效项是什么? 的相关文章

随机推荐