Smettere di continuazione di ASP.NET MVC ActionFilter
-
20-09-2019 - |
Domanda
Ho due ActionFilters personalizzate su un'azione.
Nel primo dei actionfilters, ho un reindirizzamento eseguita se la condizione non è soddisfatta (autorizzazione classico). E in un altro ho un redirect eseguita se un'altra condizione non è soddisfatta (dire il controllo di ruolo).
Ma io non voglio continuare a seconda ActionFilter se il primo non è soddisfatta. Come fare questo?
Soluzione
Impostazione della struttura filterContext.Result
qualsiasi valore non nullo fermerà l'esecuzione di filtri successivi. Così, se il primo filtro imposta filterContext.Result = new RedirectResult(...)
, il secondo filtro e metodo di azione non saranno mai eseguiti. Ecco come il built-in opere di filtro [Authorization]
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow