Autorizzazione a livello di controller in ASP.NET MVC

di Marco De Sanctis, in ASP.NET MVC, C#,

ASP.NET MVC consente di sfruttare pienamente l'infrastruttura di security di ASP.NET. Da web.config, infatti, si può attivare la forms authentication nello stesso modo utilizzato per le web forms:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogIn" />
</authentication>

Una possibile implementazione della action di LogIn è quella contenuta nell'applicazione di esempio del template ASP.NET MVC di Visual Studio. Tramite l'utilizzo dell'action filter Authorize, si possono impostare le regole di sicurezza desiderate sul controller o sulla singola action da proteggere:

[Authorize]
public class SecureController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

In questo caso, ad esempio, tutte le action di SecureController potranno essere invocate solo da un utente autenticato, mentre un anonimo verrà automaticamente rimandato alla pagina di login. Se necessario, è possibile restringere le autorizzazioni solo ad alcuni utenti o ad alcuni ruoli specifici:

[Authorize(Roles = "administrator")]
public ActionResult CriticalAction()
{
    return View();
}

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi