2009-09-08 5 views
0

J'ai actuellement trois sites tous en cours d'exécution de la même DBdomaine web Cross connexion avec l'adhésion .net

exemple sites:

  • www.mysite.com
  • admin.mysite.com
  • members.mysite.com

maintenant parce que tout cela s'exécute f À partir d'une seule DB, ils utilisent tous les mêmes tables d'appartenance .net.

  • Tous les membres sont dans un rôle: Membre
  • Tous les Admins sont dans un rôle: Admin

Ainsi, les administrateurs peuvent se connecter au site d'administration et accéder à toutes leurs fonctions d'administration, etc., mais le membres si ils ont essayé de se connecter à la zone d'administration sont rebondis à l'écran de connexion sans aucun message, ce que je veux arriver est de les rediriger vers le site: members.mysite.com et les ont connectés.

Comme Je pourrais les envoyer à une page dans le site d'administration qui fait un response.redirect('http://members.mysite.com'); mais ils doivent se reconnecter.

Y a-t-il un bon moyen de le faire, ou est-ce que je suis en train de faire quelque chose de non sécurisé et de hacky avec la chaîne querystring?

Répondre

0

Querystring fonctionne correctement tant que vous utilisez un jeton unique qui est supprimé après son utilisation pour la connexion (c'est ce que fait Google).

EDIT - Procédure de base est

  1. Générer un jeton
  2. jeton/combo nom d'utilisateur magasin dans la base
  3. Redirect sur le nouveau site avec jeton = XXXXXXXXXXXXXXXX
  4. Nouveau site sécurisé cryptographiquement voit jeton,? recherche le nom d'utilisateur correspondant dans la base de données et supprime le jeton
  5. Effectuer la procédure de connexion en tant qu'utilisateur
+0

Toute idée comment faire cela, comme la façon dont je le ferais tout de suite, serait d'envoyer une version cryptée du nom d'utilisateur et mot de passe, mais c'est vraiment mauvais – JamesStuddart

+0

Grand merci, pensé que c'est ce que vous vouliez dire assurer. – JamesStuddart

+0

Juste pensé que je laisserais un commentaire pour dire que c'est une excellente façon de le faire et cela fonctionne de manière transparente, quelques webservices fiddly mais tout est bon, merci – JamesStuddart