J'essaie de configurer une connexion unique sur 2 sites Web résidant sur le même domaine p>
E.g. P>
http: // mydomain (site de niveau supérieur contenant une page de connexion Forms-authentification) P>
http: // mydomain / admin (site Web développé séparément résidant dans une application virtuelle dans le site Web parent) P >
a lu quelques articles sur un signe unique sur E.g. P>
http://www.codeproject.com/kb/aspnet/singlesignon.aspx < / a> p>
http://msdn.microsoft.com/en-us/library/ dd577079.aspx p>
Et ils semblent suggérer que c'est juste un cas d'avoir la même section de machine de chaque Web.config de sorte que le cryptage et le déchiffrement de cookies soient les mêmes pour chaque application p>
J'ai défini ceci et je n'ai jamais demandé des informations d'identification dans le sous-site Web (l'application virtuelle) p>
Je suis toujours invité dans le site parent. P>
En plus d'avoir la même machine à brasserie, j'ai également essayé d'ajouter le même Une idée de ce que je pourrais manquer? p>
5 Réponses :
Essayez de configurer le section httpcookies dans le Web.config de les deux applications à utiliser le même domaine. De cette façon, lorsque vous vous connectez à une application, le cookie de formateurs que vous obtenez sera visible pour l'autre application. P>
Merci pour la suggestion - malheureusement que cela n'a fait aucune différence
Votre section de formulaires de web.config doit être identique à la même chose. P>
Devis de - Authentification des formulaires à travers les applications P>
Pour configurer l'authentification des formulaires sur les applications, vous définissez des attributs des formulaires et des sections de machine de fichier Web.config sur les mêmes valeurs pour toutes les applications qui participent à une authentification des formulaires partagées. p>
L'exemple suivant montre le Section d'authentification d'un web.config déposer. Sauf indication contraire, la Nom, protection, chemin, validationkey, validation, déchiffrement lakey et Les attributs de déchiffrement doivent être identique sur toutes les applications. De même, le cryptage et Valeurs de validation des valeurs et la Schéma de chiffrement et validation Schéma utilisé pour les billets d'authentification (données de cookie) doivent être les mêmes. Si la Les paramètres ne correspondent pas, authentification Les billets ne peuvent pas être partagés. P> blockQuote>
Merci - Comme je l'ai dit plus tôt, j'ai essayé avec les mêmes sections d'authentification et d'autorisation d'Opne dont j'ai remarqué, c'est que lorsque j'utilise un chemin pleinement qualifié pour le loginurl E.G. " MyDomain / login.aspx " Je suis invité aux informations d'identification Windows (pas la page de connexion des formulaires que j'attendrais)
Je veux juste m'assurer que je comprends ce droit. Si vous vous connectez à Mydomain, vous devez être authentifié pour Mydomain / Admin et cela fonctionne bien. Et vous voulez que cela fonctionne aussi bien l'inverse? C'est-à-dire quand vous vous connectez à administrer votre authentifié pour MyDomain? Avez-vous consulté votre code d'authentification dans Mydomain? Est-ce qu'une en quelque sorte diffère de / admin?
Non. Quand je visitant Mydomain, qui contient la page de connexion, j'aimerais être authentifié pour MyDomain et Mydomain / Admin. Quand je visiterai Mydomain , je suis redirigé vers la page de connexion - c'est ce que je veux arriver. Quand je visiterai MyDomain / admin , je n'ai pas redirigé - j'ai un accès complet au site / administrateur. c'est-à-dire que ça ne prend pas l'authentification du parent
Vous devez avoir les mêmes éléments d'authentification dans le Web.config. Dans l'élément de formulaires contenus, assurez-vous de donner à chaque application la même valeur pour l'attribut NAME. Pour l'attribut Loginurl, j'utilise un chemin relatif et utilisez la même page de connexion de toutes les applications (par exemple Loginurl = "/ MainApp / Login.aspx"). P>
aussi, créez-vous le billet d'authentification manuellement? P>
Oui, avez essayé avec un chemin local (login.aspx) dans le parent et un chemin complet (mydomain / login.aspx) in / admin, mais je n'ai jamais été redirigé vers la page de connexion sur / admin. Si je mettais un chemin complet dans les deux alors je suis en avant avec une invite de connexion Windows (ne formulant pas la page de connexion). ont essayé tous les paramètres de sécurité dans IIS mais ne peuvent pas être redirigés vers la page de connexion sur le site enfant
Essayez-vous d'afficher la page de connexion même lorsque l'utilisateur s'est déjà connecté au site non administrateur? En outre, mettez-vous la section des utilisateurs restreint dans l'élément d'autorisation?
J'avais utilisé Ce faisant (en utilisant Donc, j'ai besoin de ré-ajouter ces celles explicitement à l'enfant (/ admin) config p>
J'essaie de faire quelque chose de similaire. Pouvons-nous avoir des formes Authn et SSO pour le même site Web? Peut-être avoir deux pages de démarrage différentes, mais unique web.config? Des commentaires, des suggestions?
Si vous mélangez des applications ASP.NET 4.5 avec des applications ciblant les versions précédentes, vous devrez vous assurer que des jetons compatibles sont utilisés partout. Ajoutez cet attribut au voir Cette réponse pour plus de détails. Spécial merci à
Tout succès avec cette question?