所以我正在阅读有关登录循环的另一个问题,当您有用户登录时,设置为返回到他们在登录后可能无法访问的URL(即管理页面,并且用户使用正常登录帐户)。ASP.Net MVC如何确定用户是否可以访问URL?
WebForms下的解决方案似乎是利用UrlAuthorizationModule.CheckUrlAccessForPrincipal
方法。但是,这对于转到使用授权属性保护的操作方法的URL不起作用。我想我可以计算出URL指向哪种方法并反映出来解决我的问题 - 但我似乎无法弄清楚如何从路由表中获取这些信息。
任何人都曾与此合作过,或有解决方案吗?如果我可以从URL中获取路由信息,我认为我可以将其余的工作,但如果任何人有一个通用的解决方案 - 即。一些隐藏的方法类似于之前提到的用于MVC的方法,那么这也是完全可怕的。
我不是问如何检查用户是否有权访问指定的控制器/操作对。我首先需要弄清楚如何从基于URL的RouteTable获取Controller/Action对。所有背景故事的原因是,如果MVC确实存在相当于UrlAuthorizationModule.CheckUrlAccessForPrincipal
的情况。
我现在会接受,因为它现在似乎是最好的解决方案。我不确定我会实际使用这个。我真的很喜欢不必将这种逻辑嵌入到控制器中的想法 - 我也想避免额外的重定向。 – kastermester 2010-02-11 01:07:11