Question

Je voudrais sécuriser mon (Java métro) webservice avec un login.

Voilà comment je prévois de le faire:

Les étapes nécessaires lors de l'appel d'une méthode de webservice sont:

  1. connexion d'appel (utilisateur, PWD), recevoir un jeton de session 1.1 rappeler le jeton
  2. appel ServiceMethod (jeton, arg1, arg2 ...)
  3. vérifie WebService si le jeton est connu, sinon jeter exception procéder autrement
  4. ou délai d'attente après la déconnexion des périodes de temps d'inactivité x

mes questions: 1. Quel est votre avis sur cette approche? Est-ce que ça fait du sens? 2. Des bibliothèques qui prennent la charge de la rédaction d'un gestion de la session (peut-être avec la persistance de la base de données pour survivre redémarrages app)

(la solution doit être simple et facilement utilisable avec les clients Java et .NET)

merci!

Était-ce utile?

La solution

Ceci est faisable et j'ai vu des services Web en utilisant une approche similaire. Mais je ne voudrais pas mettre en œuvre ma propre solution personnalisée. Au lieu de cela, je voudrais utiliser un jeton de sécurité de la spécification WS-Security et, plus précisément un jeton Nom d'utilisateur (vous obtenez ce WSIT qui fait partie du métro et est donc interopérable avec les clients .NET). Jetez un oeil à cet article pour une introduction.

Mise à jour: Plus pointeurs:

Je ne peux pas dire que j'ai trouvé très sympathique WS-Security, mais encore, mon expérience est que l'utilisation de WS-Security prend moins de temps que la mise en œuvre d'une solution personnalisée, est plus sûr et échelles mieux (vérification de la base de données à chaque appel a un coût).

Modifier:

Correction des deux premiers liens, parce qu'ils étaient morts. Impossible de trouver un pour le troisième mais je pense que le deuxième devrait couvrir que.

Autres conseils

Ne pas sauter immédiatement dans la mise en œuvre vous-même à partir du sol. De nombreux conteneurs J2EE / frameworks Java offrent un soutien pour le contrôle login / accès. Jetez un oeil à la documentation du cadre que vous utilisez actuellement.

Une autre alternative est simple à mettre en œuvre le contrôle d'accès à un serveur Web frontal; par exemple. Apache httpd agissant comme proxy inverse pour Tomcat.

J'ai pensé à essayer Apache Shiro , je ne peux pas vraiment dire si son tout bon. On dirait bien que.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top