638 messaggi dal 18 febbraio 2002
www.dimsolutions.it
Salve a tutti,
ho definito nella mia applicazione un'area con nome "admin" dove all'interno ho le funzionalità di amministrazione. Fuori dall'area ho l'accesso pubblico al sito che non dovrebbe essere protetta.

    <authentication mode="Forms">
      <forms loginUrl="~/admin/Account/LogOn" path="admin" />
    </authentication> 

  <location path="admin">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location> 



La Forms Authentication (per ora implemento questa non suggeritemi Identity :)) funziona ma mi protegge tutto il sito io dovrei proteggere solo admin.
Da quello che ho capito <location path="admin"> path non funziona su MVC come su WebForms perchè non è un percorso fisico..

Soluzioni per proteggere solo l'area admin?
grazie

Telesoccorso Lineaperta: Servizi di Telesoccorso
10.966 messaggi dal 09 febbraio 2002
Contributi
Ciao,
in un'applicazione ASP.NET MVC, l'autorizzazione va fatta con gli attributi [Authorize] e questo è valido a prescindere dal sistema di autenticazione e membership che stai usando. Sia con la Forms Authentication che con ASP.NET Identity, i controller si proteggono mettendo un attributo [Authorize] su di essi.

Quindi togli questo:
  <location path="admin">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location> 


e sui controller dell'area di amministrazione metti:
[Authorize]
public class AdminController : Controller {
}


ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.