【发布时间】:2012-07-21 21:15:45
【问题描述】:
我在为我的公司编写自定义 SSO 解决方案时遇到问题。为了简单起见,我制作了一个自定义身份验证 httpmodule,它拦截所有请求以检查用户身份验证状态。如果未通过身份验证,用户将被重定向到我的自定义 sso 登录页面。
问题是,当用户未通过身份验证时,我想检查他是否可以访问请求的页面/资源...使用 Webforms,没问题,我在 web.config 中添加了一个授权块,然后我使用UrlAuthorizationModule.CheckUrlAccessForPrincipal 使用匿名用户。一切正常...
但是当我将我的模块应用到 MVC (3) 网站时,这不再起作用(原因很明显,比如可以从不同的 url 访问相同的控制器和/或操作使用路由时,并且因为授权是通过控制器属性进行的)。
我怎样才能做到这一点?我一直在搜索一整天,没有找到任何相关信息:/
【问题讨论】:
标签: asp.net-mvc routing webforms authorization httpmodule