À l'aide d'un Asp.net l'Adhésion de la base de données avec de multiples applications Seul Signe Sur
J'ai deux asp.net les applications sur un serveur IIS et je voudrais utiliser le même back-end asp_security base de données et fournisseur d'appartenances. J'ai lu que tout ce que j'ai à faire est de faire référence à la même nom de l'application dans les deux web configs comme je le fais maintenant, mais je dois avoir fait quelque chose de mal
Dans chacune des applications web.config j'ai cette section.
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="membership"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="false"
minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
/>
</providers>
</membership>
Lorsque je me connecte à partir d'Une application et accédez à l'application B application B ne semble pas savoir quelque chose sur moi ou mes informations d'identification de l'application de l'A. n'importe qui ont des idées de ce que je fais mal?
Vous devez vous connecter pour publier un commentaire.
Juste pour la fermeture de la cause, je vais répondre à comment j'ai atteint le but de ma question initiale destinée à demander.
J'ai eu deux asp.net les applications sur un serveur IIS. C'était mon objectif pour le rendre ainsi, lorsque l'utilisateur est connecté sur app1 leurs informations d'identification utilisateur serait disponible dans app2. La configuration de la asp.net l'adhésion de fournisseur n'est qu'une étape de ce que je cherchais. Même si les deux applications ont été en utilisant la même base de fournisseur et je ne serait pas encore authentifié lorsque j'ai frappé app2. Ce que je cherchais était un Seul Signe Sur la solution.
Une fois que vous avez les deux applications pointant vers votre asp_membership base de données en plaçant les éléments suivants dans le système.section du site web de votre site web config
assurez-vous que les deux ont le même applicationname ensemble de propriétés.
J'ai été en utilisant IIS 6, donc je l'ai configuré pour générer automatiquement une machine clé pour les deux applications. Parce que deux de ces applications vivent sur la même machine, la clé serait identique, c'est la partie critique à faire du SSO le travail. Après la configuration de IIS le suivant a été ajouté à mon site web.config
Qui était tout ce qu'il y avait pour elle. Une fois que c'est fait, j'ai pu connecter en app1, puis accédez à app2 et de garder mes informations d'identification de sécurité.
Merci pour le pousser dans la bonne direction.
Si ma compréhension est bonne, les utilisateurs de l'authentification credentails sont stockées dans le contexte HTTP de chaque application. Commutation entre les deux applications ne seront pas automatiquement d'authentifier l'utilisateur, puisqu'un nouveau contexte sera créé lorsque vous passez en application B.
Ce que je crois peut la bonne approche serait d'utiliser la
DefaultCredentials
(ouUseDefaultCredentials
propriétéTrue
) de l'utilisateur actuel avant de passer à l'application B.Quand vous dites que l'interrupteur qu'entendez-vous par exemple. ouvrez une autre fenêtre de navigateur et accéder à l'application B ou demande une page de l'appB de l'appA?