Non aggiungere AuthorizationAttribute al tuo metodo di azione, dove non è richiesto per esempio.
mio attributo personalizzato
public class AuthorizationFilterAttribute : AuthorizeAttribute
{
Some code...
}
mio regolatore
public class UserController : BaseController, IDisposable
{
[AuthorizationFilterAttribute]
public ActionResult UserList()
{
//Authorize attribute will call when this action is executed
}
public ActionResult AddUser()
{
//Authorize attribute will not call when this action is executed
}
}
Io spero tu abbia il mio punto quello che sto cercando di dire voi.
================= Answer Aggiornato ========================== ===================== Crea un altro attributo come di seguito.
public sealed class AnonymousAttribute : Attribute { }
Inserire il codice sotto il metodo OnAuthorization.
public override void OnAuthorization(AuthorizationContext filterContext) {
bool checkForAuthorization = filterContext.ActionDescriptor.IsDefined(typeof(AnonymousAttribute), true)
|| filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AnonymousAttribute), true);
if (!skipAuthorization) {
base.OnAuthorization(filterContext);
}
}
fonte
2012-03-06 10:02:46
'(1):' Non sono sicuro che ti capisco, un po 'di codice sarebbe buono. '(2):' È possibile aggiungere attributi di autorizzazione sui metodi di azione. – gideon
È possibile creare la propria versione dell'attributo. http://stackoverflow.com/questions/746998/override-authorize-attribute-in-asp-net-mvc – Tx3
Accidenti, tutti sembrano non capirti :). Capisco, ma volevo una soluzione perché ho lo stesso problema. Hai trovato qualcosa nel frattempo? –