Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come impedire agli utenti non registrati/non autorizzati di visualizzare le pagine Web in ASP.NET

Per prima cosa stabilisci l'appartenenza e il fornitore del ruolo. C'è tutta la storia a riguardo. Darò un aiuto qui.

Ecco il collegamento a SqlMembershipProvider (una delle opzioni che puoi scegliere):http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

Ecco il collegamento a SqlRoleProvider (di nuovo solo una delle opzioni che puoi scegliere)::http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

Dopo averlo stabilito, puoi limitare l'accesso utente/ruolo a livello di cartella. Inserisci questo codice in web.config (all'interno del tag di configurazione):

  <location path="AdminPages">
    <system.web>
      <authorization>
        <allow roles="Administrator"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="UserPages">
    <system.web>
      <authorization>
        <allow roles="Administrator,User"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

Ecco una piccola spiegazione. La cartella principale "AdminPages" sarà consentita solo agli utenti con il ruolo "Administrators". Cartella principale "UserPages" per gli utenti nel ruolo "Amministratore" e "Utente". In entrambi i casi gli utenti sconosciuti non potranno accedere alle cartelle. Questo è tutto ciò di cui hai bisogno. Un'alternativa a questo è creare una classe che erediti da Page e poi gestisca l'accesso alla pagina... tuttavia non andrei in quel modo.