ASP.Net MVC, wie man feststellt, ob ein Benutzer auf eine URL zugreifen kann?

Ich habe also eine andere Frage bezüglich der Anmeldeschleife gelesen, wenn sich ein Benutzer angemeldet hat, der so eingestellt ist, dass er zu einer URL zurückkehrt, auf die er möglicherweise nach der Anmeldung keinen Zugriff hat (z. B. eine Administratorseite und der Benutzer sich mit einem normalen Konto anmeldet). .

Die Lösung unter WebForms scheint zu sein, die zu nutzenUrlAuthorizationModule.CheckUrlAccessForPrincipal Methode. Dies funktioniert jedoch nicht für URLs, die zu mit dem Berechtigungsattribut gesicherten Aktionsmethoden wechseln. Ich dachte mir, ich könnte herausfinden, auf welche Methode die URL zeigt, und darüber nachdenken, um mein Problem zu lösen - aber ich kann nicht herausfinden, wie ich diese Informationen aus der Routing-Tabelle bekomme.

Hat jemand jemals damit gearbeitet oder eine Lösung dafür? Wenn ich nur die Routeninformationen über eine URL abrufen kann, könnte ich den Rest erledigen, aber wenn jemand eine generische Lösung hat - d. H. eine versteckte Methode, die der zuvor erwähnten für MVC ähnelt, dann wäre das auch total genial.

Ich frage nicht, wie ich überprüfen soll, ob der Benutzer Zugriff auf ein bestimmtes Controller / Action-Paar hat. Ich muss in erster Linie herausfinden, wie das Controller / Action-Paar aus der RouteTable basierend auf der URL abgerufen werden kann. Der Grund für die ganze Hintergrundgeschichte ist für den Fall, dass es tatsächlich ein Äquivalent zu gibtUrlAuthorizationModule.CheckUrlAccessForPrincipal für MVC.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage