Ho un controller decorato con AuthorizeAttribute. Il controller contiene diverse azioni che richiedono tutte l'autenticazione tranne un'azione che richiede un'autenticazione personalizzata fornita da CustomAuthorizeAttribute.Ignora controller AutorizzaAttributo per una sola azione
La mia domanda è una volta che ho aggiunto [Autorizza] a livello di controller è possibile sovrascriverlo (o rimuoverlo) con [CustomAuthorize] in una sola azione? O devo rimuovere [Autorizza] dal livello del controller e aggiungerlo singolarmente ad ogni altra azione?
Sto chiedendo solo per convenienza perché sono pigro e non voglio decorare ogni azione con l'AutorizzazioneAttributo.
[Authorize]
public class MyController : Controller {
//requires authentication
public ViewResult Admin() {
return View();
}
//... a lot more actions requiring authentication
//requires custom authentication
[CustomAuthorize] //never invoked as already failed at controller level
public ViewResult Home() {
return View();
}
}
In questo caso il CustomAuthorizeAttribute fornisce lo stesso livello di accesso, ma è utilizzato per compensare un bug con Flash e quindi impostando l'Ordine le proprietà sono sufficienti per ottenere il risultato desiderato. Grazie. –
Effettuando l'ordine dell'attributo sull'azione, è stato possibile sovrascrivere l'attributo sul controller. Upvote! –