2010-08-26 8 views

Répondre

8

Vous avez ajouté j2ee comme balise, donc je vais supposer que c'est une question java. Vous pouvez implémenter l'authentification unique dans le code en ... eh bien ... en écrivant du code. Utilisez l'authentification j2ee intégrée ou lancez la vôtre.

Voir cette réponse des possibilités: Single sign-on in Java EE

La stratégie de base est d'inventer une sorte de stratégie de cookies partagée que tous les sites Web peuvent lire. Par exemple, si vous développez une solution de connexion unique pour xyz.company.com et abc.company.com, livrez un cookie de session quelconque avec le chemin d'accès de company.com. Les deux sites peuvent accéder à cette session et voir "Oh, ce type a déjà ouvert une session".

Il existe également des stratégies d'authentification unique Web lorsque vous authentifiez des utilisateurs sur des sites totalement distincts tels que MySiteA.com et MySiteB.com.

Pour éviter les attaques par relecture, vous devez disposer d'un magasin de session commun de sorte que vos pages Web puissent valider ce cookie à chaque demande de page. Vous n'avez pas marqué ce .NET, mais dans .NET, cela signifie que vous devez déplacer l'état de session du processus de travail IIS, ce qui n'est pas le cas par défaut lorsque vous sélectionnez Fichier> Nouveau projet ... pour les applications Web.

Votre application devra protéger chaque demande Web entrante parce que vous faites maintenant confiance à ce cookie en tant que «ticket» ou «preuve d'entrée». Vous aurez besoin d'une stratégie pour annuler l'autorisation de ce cookie (à la déconnexion ou à l'expiration ou autre).

La plupart des frameworks Web, y compris J2EE, .NET ou des serveurs d'applications tels que WebSphere, ont des solutions pour cela. Vous devrez les rechercher et vous familiariser avec les techniques dont vous avez besoin.

Vous pouvez également acheter un logiciel d'accès tiers tel que CA Siteminder. Dans ce cas, vous n'écrivez pas de code d'authentification et d'accès et vous laissez leurs agents Web monter la garde devant votre application. Ils disposent également de solutions de connexion unique pour plusieurs sites Web partageant ou non un même domaine de niveau supérieur.

Je ne recommande pas ce produit. Je dis que vous avez posé une très très grande question et que vous pouvez utiliser Java pour résoudre votre problème ou acheter des produits tiers qui essaient de faire la même chose.

C'est un sujet ÉNORME que je n'ai pas essayé de couvrir en détail. Ce n'est pas une réponse suffisante. Le fait est que vous devrez sélectionner plus de pièces de votre architecture avant de pouvoir obtenir une aide et des conseils plus spécifiques.

Questions connexes