Così stavo leggendo un'altra domanda per quanto riguarda ciclo login quando si dispone di un utente login, impostare per tornare a un URL che essi potrebbero non avere accesso a dopo il login (es. Una pagina di amministrazione, e l'utente si collega con una normale account).ASP.Net MVC come determinare se un utente può accedere a un URL?
La soluzione sotto WebForms sembra essere quello di utilizzare il metodo UrlAuthorizationModule.CheckUrlAccessForPrincipal
. Tuttavia, ciò non funziona per gli URL che passano ai Metodi di azione protetti con l'Attributo Autorizza. Ho pensato che avrei potuto capire quale metodo l'URL stava puntando e riflettere su di esso per risolvere il mio problema - ma non riesco a capire come ottengo queste informazioni dalla tabella di routing.
Chiunque abbia mai lavorato con questo, o di avere una soluzione per questo? Se posso semplicemente ottenere le informazioni sul percorso da un URL, penso che potrei lavorare per il resto, ma se qualcuno ha una soluzione generica, ad es. un metodo nascosto simile a quello prima menzionato per MVC, quindi sarebbe assolutamente fantastico.
Non sto chiedendo come verificare se l'utente ha accesso a una coppia di controller/azioni specificata. Prima di tutto ho bisogno di capire come ottenere la coppia Controller/Azione da RouteTable in base all'URL. La ragione di tutta la storia di fondo è nel caso in cui esista effettivamente un equivalente a UrlAuthorizationModule.CheckUrlAccessForPrincipal
per MVC.
Lo accetterò per ora in quanto sembra essere la migliore soluzione per ora. Non sono sicuro che lo userò davvero.Mi piace molto l'idea di non dover inserire questo tipo di logica nei controller, inoltre vorrei evitare il reindirizzamento extra. – kastermester