ASP.Net MVC comment faire pour déterminer si un utilisateur peut accéder à une URL?

Donc, je lisais une autre question relative à la connexion de la boucle lorsque vous avez une connexion de l'utilisateur, le retour à une URL qui ils pourraient ne pas avoir accès à après la connexion (ie. un admin de la page, et l'utilisateur se connecte avec un compte normal).

La solution sous WebForms semble être d'utiliser le UrlAuthorizationModule.CheckUrlAccessForPrincipal méthode. Cependant cela ne fonctionne pas pour les Url va Méthodes d'Action sécurisé avec l'Autoriser Attribut. J'ai pensé que je pouvais travailler sur la méthode de l'URL pointant vers et de réfléchir sur elle pour résoudre mon problème mais je n'arrive pas à trouver comment je peux obtenir cette information de la table de routage.

Quiconque a déjà travaillé avec, ou une solution pour cela? Si je peux obtenir des informations sur l'itinéraire à partir d'une URL, je pense que je pourrais travailler le reste, mais si quelqu'un a une solution générique - ie. certains cachés méthode s'apparente à l'avant de parler d'un pour MVC, alors ce serait vraiment génial.

Je ne demande pas comment faire pour vérifier si l'Utilisateur a accès à une Action de Contrôleur de paire. J'ai d'abord et avant tout besoin de travailler sur la façon d'obtenir la paire Contrôleur/Action de la RouteTable basé sur l'URL. La raison de toute l'histoire de fond, est dans le cas où il existe un équivalent à UrlAuthorizationModule.CheckUrlAccessForPrincipal pour MVC.

OriginalL'auteur kastermester | 2010-02-04