Frage

Ich möchte meine (Java Metro) Webservice mit einem Login sichern.

Hier ist, wie ich plane, das zu tun:

Schritte erforderlich, wenn eine Webservice-Methode aufgerufen werden:

  1. Anruf Login (Benutzer, PWD), erhalten ein Sitzungstoken 1.1 erinnert das Token
  2. Anruf servicemethod (Token, arg1, arg2 ...)
  3. Webservice überprüft, ob das Token bekannt ist, wenn sie nicht werfen Ausnahme sonst gehen
  4. logout oder Timeout nach x Zeit Perioden der Inaktivität

meine Fragen: 1. Was ist Ihre Meinung zu diesem Ansatz? macht das Sinn? 2. Gibt es Bibliotheken, die die Last des Schreibens eines Session-Handling übernehmen

(vielleicht mit Datenbankpersistenz App neu gestartet, um zu überleben)

(die Lösung sollte mit Java einfach und leicht bedienbar sein und .NET-Clients)

Danke!

War es hilfreich?

Lösung

Dies ist möglich, und ich habe Web-Service gesehen einen ähnlichen Ansatz verwenden. Aber ich würde meine eigene benutzerdefinierte Lösung nicht realisieren. Stattdessen würde ich eine Sicherheits-Token aus der WS-Security-Spezifikation verwenden und, genauer gesagt ein Benutzername Token (Sie dies bekommen von WSIT welcher Teil Metro ist und somit kompatibel mit .NET-Clients). Hier finden Sie aktuelle diesem Artikel für eine Einführung.

Update: Weitere Hinweise:

Ich kann nicht sagen, dass ich WS-Security gefunden sehr freundlich, aber immer noch, meine Erfahrung ist, dass WS-Security nimmt weniger Zeit in Anspruch als die Implementierung einer benutzerdefinierten Lösung verwenden, ist sicherer und besser Waage (Überprüfung der Datenbank bei jedem Aufruf hat eine Gebühr).

Bearbeiten:

die ersten beiden Links korrigiert werden, weil sie tot waren. Könnte nicht eine für die dritte finden, aber ich denke, die zweite sollte, dass decken.

Andere Tipps

nicht sofort in diese selbst von Grund auf Umsetzung springen. Viele J2EE-Container / Java-Frameworks bieten Unterstützung für die Anmeldung / Zutrittskontrolle. Werfen Sie einen Blick in die Dokumentation für den Rahmen, den Sie derzeit verwenden.

Eine weitere einfache Alternative ist Zugriffskontrolle in einem Front-End-Web-Server zu implementieren; z.B. Apache als Reverse Proxy für Tomcat handeln.

Ich habe darüber nachgedacht, das Ausprobieren Apache Shiro , kann ich nicht wirklich sagen, wenn sein jeder gute. Sieht gut aus aber.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top