Java Authentication and Authorization Service

Part 2 (Work in Progress)

barthel (https://github.com/barthel)

Einführung

  • Java-API um Dienste zur Authentifizierung und Autorisierung in Java Anwendungen bereitzustellen

  • Implementiert das Pluggable Authentication Modules (PAM) Konzept [PAM].

  • Seit Java 1.4 Teil der Platform.

Wikipedia (de): Java Authentication and Authorization Service. https://de.wikipedia.org/wiki/Java_Authentication_and_Authorization_Service (abgerufen am 14. Jan. 2020)

Java Authentication and Authorization Service

Klassen und Interfaces

  • gebündelt in package javax.security.auth

  • Basisklassen

    • javax.security.auth.Subject, javax.security.Principal, Credentials

  • Klassen für Autorisierung

Basisklassen und Interfaces

javax.security.auth.Subject

  • Quelle einer Anfrage

  • vertritt jedwede Entity (bspw. Mensch, Gerät)

  • Verwaltet Identitäten (Principal) sowie Anmeldeinformationen (Credential)

    • Anmeldeinformationen werden in öffentliche und private Informationen unterschieden.

  • Kann eingefroren (read-only) werden

  • wird in der Regel automatisch erzeugt

javax.security.Principal

  • Repräsentation einer Identität

  • Implementierung muss java.io.Serializable implementieren

Credentials

  • Anmeldeinformationen bspw. Rollen oder Rechte

  • keine eigene Klassenhierarchie

  • java.lang.Object

  • Implementierung muss java.io.Serializable implementieren

  • Implementierung von javax.security.auth.Refreshable für zeitabhängige Anmeldeinformationen

  • Implementierung von javax.security.auth.Destroyable für sensible Informationen

Klassen und interfaces für Authentifizierung

Literaturverzeichnis