Ho un'interfaccia utente con Jquery che effettua una chiamata a MVC utilizzando la richiesta Ajax.Attributo di autorizzazione personalizzata MVC per convalidare la richiesta
Vorrei convalidare ogni richiesta con il profilo utente (classe personalizzata che contiene numero account, ID ecc.).
Qualcuno potrebbe suggerire se è possibile creare un Attributo di autorizzazione personalizzato per verificare che sia la richiesta sia il profilo utente siano uguali?
Vorrei poi fare qualcosa di simile di seguito:
[AuthorizeUser]
public ActionResult GetMyConsumption(string accountNumber)
{
.....
return View();
}
Se siete disposti a analizzare i dati dal modulo di richiesta/querystring e convalidarli allora potrebbe essere possibile. Avrai pieno accesso a httpContext nel tuo attributo di autorizzazione personalizzato. Dovresti assumere che una variabile "accountNumber" deve esistere nel Form se un POST o QueryString se un GET. Il binding dei parametri (mappatura dei dati nella richiesta ai parametri nella tua azione) avverrà attorno al metodo OnActionExecuting che è post-Authorize. –
Sì, verrà passato l'ID account. –
Controlla http://stackoverflow.com/questions/6860686/extend-authorizeattribute-override-authorizecore-or-onauthorization (AuthorizeCore vs OnAuthorize) e qui c'è qualcuno che sta esaminando alcuni dati di richiesta (budget) per alcuni dati per determinare se l'utente è autorizzato o meno: http://stackoverflow.com/questions/5989100/asp-net-mvc-3-custom-authorisation –