J'ai un ensemble de trois systèmes d'application Web - A, B & C qui sont utilisés pour entretenir mon application. Le système A possède la logique métier principale et stocke également les données utilisateur/compte pour l'ensemble de l'application. Les systèmes B & C sont nécessaires pour fournir des fonctionnalités supplémentaires à l'application. Je pensais à un mécanisme de sécurité où un utilisateur U se connecte au système principal A et le système crée un jeton de sécurité pour la session en cours qui sera nécessaire pour authentifier une demande de l'utilisateur U aux autres systèmes B & C. Au moment où l'utilisateur se connecte au système A, il génère en interne le jeton et envoie le jeton xyz aux sous-systèmes B & C. Maintenant, l'utilisateur U envoie une requête aux sous-systèmes B & C avec une valeur valide. jeton, l'utilisateur aura accès aux ressources. Mais alors, je ne suis pas sûr si c'est la meilleure approche ou même une bonne. Donc, je suis un peu confus au sujet du workflow complet et toute aide à cet égard sera très appréciée.Sécurité dans le système d'applications Web distribuées
Je développe en Java et donc tout module qui le gère déjà économisera beaucoup de mon temps de développement. Guidez-moi s'il-vous-plaît.
Je prévois d'utiliser OpenId pour authentifier l'utilisateur à l'interface graphique. Une fois que l'utilisateur est authentifié, je veux un mécanisme par lequel je peux dire aux deux autres systèmes B & C que l'utilisateur devrait être autorisé à faire des appels au système. Je ne suis pas sûr si Stanford WebAuth peut m'aider ici. Les trois systèmes A, B et C sont des applications Web exécutées sur HTTP/HTTPS – Qedrix
Comme je l'ai décrit, vous pouvez utiliser un protocole basé sur des jetons dans lequel A émet le jeton uniquement après le succès de l'authentification OpenID. Vous pouvez également demander à B + C de vérifier indépendamment l'authentification OpenID. Ou vous pouvez compter sur la sécurité HTTPS et l'unicité de session et utiliser les variables de session dans la mémoire partagée entre A-B-C (memcached, par exemple). Moins sécurisé, mais probablement assez bon. WebAuth ne vous aidera que si vous utilisez Kerberos sur le backend. – Borealid