Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment empêcher les utilisateurs non connectés/non autorisés d'afficher des pages Web dans ASP.NET

Établissez d'abord l'adhésion et le fournisseur de rôle. Il y a toute une histoire à ce sujet. Je vais donner une aide ici.

Voici le lien vers SqlMembershipProvider (l'une des options que vous pouvez prendre) :http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

Voici le lien vers SqlRoleProvider (encore une seule des options que vous pouvez prendre): :http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

Après avoir établi cela, vous pouvez limiter l'accès utilisateur/rôle au niveau du dossier. Mettez ce code dans web.config (à l'intérieur de la balise de configuration) :

  <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>

Voici une petite explication. Le dossier racine "AdminPages" sera autorisé uniquement aux utilisateurs dans le rôle "Administrateurs". Dossier racine "UserPages" aux utilisateurs dans le rôle "Administrator" et "User". Dans les deux cas, les utilisateurs inconnus ne seront pas autorisés à accéder aux dossiers. C'est tout ce dont vous avez besoin. L'alternative à cela est de créer une classe qui hérite de la page, puis de gérer l'accès à la page... mais je n'irais pas dans cette direction.