2012-03-25 8 views
1

Ich lerne Java Security JCE/JAAS. Ich bin nicht in der Lage, ein Beispiel zu erhalten, wo wir JAAS Login-Modul in echte Webapplikation implementieren müssen.wo wir JAAS

Kann mir bitte jemand sagen, wo ich JAAS in meiner Webanwendung implementieren kann. Soweit ich weiß, ist dies der Authentifizierungs- und Autorisierungsdienst.

/// Wenn mein Verständnis jetzt korrekt ist, bedeutet dies, dass ein Dienst (wie LDAP) auf unserem Webserver oder einem anderen Webserver ausgeführt wird. Wenn wir diesen Dienst verwenden möchten, müssen wir JAAS implementieren um unsere Anwendung zu authentifizieren.

+1

Ich stimme zu, ich weiß, wie zu implementieren, aber erklären Sie bitte jedes Szenario, wo ich dies implementieren kann. – Pedantic

+0

Ich würde gerne einen Nachtrag machen, wenn möglich. Ich glaube, dass [meine Antwort] (http://stackoverflow.com/a/43220700/3542189) beim Verstehen Ihrer Frage helfen kann. Begrifflich sagen. – pss1suporte

Antwort

2

JAAS ist eine Möglichkeit, die Anmeldung an einem Container zu implementieren. Die Hauptvorteile von JAAS ergeben sich aus der Tatsache, dass es sich um ein Standard-Framework handelt, das in JRE integriert ist - so dass Sie viele Informationen, Beispiele, Konnektoren usw. erhalten - und dass es die verschiedenen Belange der Benutzerauthentifizierung richtig trennt.

Insbesondere werden die Authentifizierung (Validierung der angegebenen Anmeldeinformationen) und die Autorisierung (Rolle und Berechtigungen für den Benutzer) klar getrennt.

Während die Authentifizierung häufig "generisch" oder "extern" ist, z. B. bei Verwendung eines LDAP-Servers, ist die Autorisierung häufig eng mit Ihrer Anwendung verknüpft: Rollen und Berechtigungen sind in der Regel spezifisch für das Geschäftsproblem der Anwendung.

Die Implementierung Ihres eigenen JAAS-Moduls ist eine einfache Möglichkeit, dieses Problem anzugehen, während Sie innerhalb eines klar definierten Frameworks bleiben und keine Implementierung auf niedriger Ebene bereitstellen müssen, um das Modul mit dem Anmeldezyklus und Sitzungsmanagement zu versehen der Kontainer.

+0

Ich würde gerne ein Addendum machen, wenn möglich. Ich glaube, dass [meine Antwort] (http://stackoverflow.com/a/43220700/3542189) kann helfen, Ihre Antwort zu verstehen. Begrifflich sagen. – pss1suporte

0

Sie müssen Ihr eigenes JAAS-Login-Modul nicht mit Standard-Servlet-Containern implementieren, es sei denn, Sie möchten das Standardverhalten ändern, da Sie mehrere Standardmethoden zur Verfügung stellen.

Hier finden Sie eine Anleitung zeigt, wie man die Form Login mit Tomcat verwenden (keine Notwendigkeit für Roll Sie besitzen Loginmodule): http://www.avajava.com/tutorials/lessons/how-do-i-use-form-authentication-with-tomcat.html

+0

thks, ich habe die Frage bearbeitet bitte überprüfen und helfen – Pedantic

+0

wie üblich, für diese Art von Fragen google gibt bessere "Antworten": http://blog.frankel.ch/custom-loginmodule-in-tomcat; Denken Sie daran, den Namen des Realms in der Ihrer web.xml –

0

Im Allgemeinen Sie als Anwendungsentwickler nicht JAAS-Module implementieren. Stattdessen wählen Sie aus bereits vorhandenen Modulen auf dem von Ihnen verwendeten Anwendungsserver aus, welches JAAS-Modul für Ihre Anwendung verwendet werden soll. Die meisten Anwendungsserver verfügen über eine Vielzahl von Implementierungen, mit denen Sie gängige Dinge wie die Authentifizierung mit Informationen aus einer Datenbank, ldap, Active Directory, Kerberos usw. tun können. Sie bestimmen, welche Authentifizierungsquelle Sie verwenden und Ihre Anwendung entsprechend konfigurieren müssen.

+0

thks, ich habe die Frage bearbeitet, bitte überprüfen und helfen – Pedantic