2010-06-10 3 views
3

Je déploie un site Web public ASP.NET sur une batterie de serveurs Web IIS7.Restreindre l'accès à une URL spécifique, s'exécutant sur IIS7/ASP.NET

L'application s'exécute sur 3 serveurs Web et se trouve derrière un pare-feu.

Nous voulons créer une seule page sur le site Web qui est accessible uniquement aux utilisateurs internes. Il est principalement utilisé pour le diagnostic, l'expiration du cache de déclenchement, etc.

/admin/somepage.aspx

Quelle est la meilleure façon de contrôler l'accès à cette page? Nous devons:

  1. Empêcher tous les utilisateurs externes (publics) d'accéder à l'URL.
  2. Autoriser des utilisateurs internes spécifiques à accéder à la page, uniquement à partir de certaines adresses IP ou de certains réseaux.

Ce contrôle d'accès doit-il être effectué au niveau (a) du réseau, (b) au niveau de l'application, etc.?

Répondre

2

J'ai trouvé la meilleure solution était de placer un iRule sur notre équilibreur de charge F5.

Nous avons créé une règle selon laquelle l'équilibreur de charge supprimait toutes les demandes externes pour le répertoire spécifique. En interne, nous pouvions toujours accéder aux pages en nous connectant directement aux serveurs de la batterie.

1

Voici comment sécuriser page spécifique pour les utilisateurs spécifiques et ne les

<configuration> 
    <location path="admin/somepage.aspx"> 
     <system.web> 
      <authorization> 
       <allow users="User1,User2" /> 
       <deny users="*" /> 
      </authorization> 
     </system.web> 
    </location> 
</configuration> 

Pour configurer IP autorisées vous devez configurer le site Web dans IIS via IPv4 Address and Domain Restriction où ajouter un caractère générique Deny Entry et SPECIF Allow Entries.

Aussi, vous pouvez configurer tout cela par programme.

0

Une implémentation simple consiste à définir la sécurité de fichier sur ce fichier dans IIS à l'authentification Windows intégrée uniquement.

Ensuite, dans le code de ce fichier, vérifiez l'ID de l'utilisateur ... si elles sont authentifiées, elles auront un ID, et les laisseront accéder à la page.

if(!HttpContext.Current.User.Identity.IsAuthenticated) 
{ 
    //Direct user to other page or display message. 
} 

Lorsque les utilisateurs vont à cette page, il leur demandera leur connexion réseau