2009-09-13 13 views
1

J'utilise VSTS 2008 + C# + .Net 3.5 + IIS 7.0 + ASP.Net. Mon site Web IIS, le site A et le site B. Lorsque l'utilisateur demande l'adresse http://sitea/abc.aspx, mon gestionnaire de code ASP.Net authentifiera l'utilisateur (en utilisant l'authentification par formulaire), et s'il est authentifié, je redirigerai l'utilisateur vers http://siteb/bcd.aspx.Problème d'authentification de la requête http IIS

Mon numéro actuel est, certains utilisateurs vont accéder directement à http://siteb/bcd.aspx pour passer le processus d'authentification de sitea. Ce n'est pas ce que je veux puisque je veux m'assurer que tous les utilisateurs qui ont accès à http://siteb/bcd.aspx soient authentifiés.

Ma question est, quelle est la solution facile pour résoudre le problème lorsque l'utilisateur accédera directement à siteb pour passer l'authentification?

Répondre

1

Mes pensées sur ce ...

  • interdire l'accès anonyme à la fois le site
  • Puisque vous utilisez l'authentification des formulaires mis l'loginUrl appropriée.
  • Si un utilisateur accède directement à http://sitseb/bcd.aspx, étant donné que l'accès anonyme n'est pas autorisé, il sera redirigé vers l'URL de connexion correspondante.

Faites-moi savoir si vous avez besoin de plus de précisions.

Une solution similaire est présenté ici ..

Multiple site authentication with asp.net

NOTE: En cas de besoin, le domaine des formes de cookie d'authentification doit être réglé sur « * .votredomaine.com » de sorte que le même cookie peut être utilisé à la fois pour le site.

+0

Merci Rajesh, je pense que votre solution fonctionne. J'ai dit que j'utilise l'authentification par formulaire, et plus précisément j'utilise l'authentification par formulaire pour sitea, pas siteb, désolé pour ma mauvaise description de ma question. :-) siteb est un système hérité et je veux garder le changement de code aussi minimal que possible. Je ne suis pas sûr si l'utilisation de l'authentification par formulaires sur siteb impliquera trop de changements de code? – George2

+1

Quel type d'authentification est utilisé par "siteb"? –

+0

Actuellement, aucune authentification n'est encore utilisée par siteb. Accès anonyme – George2

1

Sur siteb, vous pouvez restreindre l'accès à l'adresse IP de sitea.

Dans Gestionnaire des services Internet

Cliquez sur l'onglet Sécurité de répertoire de sécurité ou d'un fichier, puis effectuez une des opérations suivantes:

l'adresse IP et la section des restrictions de nom de domaine, cliquez sur Modifier.

Cliquez sur Accès accordé ou Accès refusé. Lorsque vous sélectionnez Accès refusé, vous refusez l'accès à tous les ordinateurs et domaines, sauf ceux auxquels vous accordez un accès spécifique. Lorsque vous sélectionnez Accès accordé, vous autorisez l'accès à tous les ordinateurs et domaines, sauf ceux auxquels vous refusez spécifiquement l'accès.

Cliquez sur Ajouter, puis sur Un seul ordinateur.

Cliquez sur Recherche DNS pour rechercher des ordinateurs ou des domaines par nom plutôt que par adresse IP.

Saisissez le nom DNS de l'ordinateur. IIS effectue une recherche sur le domaine actuel de l'ordinateur et, s'il est trouvé, saisit son adresse IP dans la zone d'adresse IP.

+1

Bonjour Peter, je pense que votre solution ne fonctionne pas pour moi. Puisque lorsqu'un utilisateur normal accède à l'authentification, je redirige l'utilisateur vers siteb. Je pense que l'adresse IP devrait être l'adresse de l'ordinateur du client (l'utilisateur final), pas l'adresse de sitea'a. Ainsi, votre solution de restriction de l'adresse de siteb pour autoriser uniquement l'accès au sitea ne fonctionne pas. S'il vous plait corrigez moi si je me trompe. Merci! – George2

+1

Comment cela fonctionnera-t-il avec les demandes ultérieures au siteB? La première requête, via l'authentification, proviendra de siteA en tant que redirection, mais les demandes ultérieures proviendront de l'adresse IP du client, non? – eidylon

+0

Salut Peter, le scénario est, étape 1: sitea accès utilisateur pour la liste de contenu, étape 2: utilisateur est demandé pour l'authentification par sitea, étape 3: utilisateur est authentifié par sitea et sitea rediriger l'utilisateur vers siteb, étape 4: site d'accès utilisateurb de la redirection. Donc, je pense que lorsque l'utilisateur passe l'authentification et accède à siteb, l'utilisateur doit utiliser l'adresse IP de l'ordinateur client et non l'adresse de sitea, correct? – George2

Questions connexes