Welches Flag setzt man für Elytron Security?

Antwort vom

**Nein: Einen JAAS-`flag` wie `required`, `requisite`, `sufficient` oder `optional` setzt du in Elytron normalerweise nicht, weil Elytron nicht auf Login-Module-Flags basiert, sondern auf Realms, Security-Domains und deren Reihenfolge.** Der wichtige Unterschied ist: Die `flag`-Logik gehört zur **alten JAAS-/PicketBox-Konfiguration** mit `login-module`. In **WildFly Elytron** definierst du stattdessen eine `security-domain` mit einem oder mehreren Realms; dort steuerst du das Verhalten über den **Default-Realm**, die **Realm-Reihenfolge** und optional einen **Realm-Mapper**, nicht über `flag`-Attribute. ([docs.wildfly.org](https://docs.wildfly.org/28/WildFly_Elytron_Security.html)) ## Was das praktisch bedeutet Wenn du aus einer alten Konfiguration kommst wie: ```xml <login-module code="UsersRoles" flag="required"/> <login-module code="CustomModule" flag="optional"/> ``` dann gibt es in Elytron **keine 1:1-Übersetzung des `flag`**. Du musst die Authentifizierungslogik fachlich neu abbilden: - **ein Realm** für eine Quelle, - **mehrere Realms** in einer Security-Domain, - oder ein **Custom Realm / Custom Mechanism**, wenn die alte Flag-Kombination Speziallogik hatte. ([docs.wildfly.org](https://docs.wildfly.org/28/WildFly_Elytron_Security.html)) ## Der häufigste Denkfehler Viele suchen in Elytron nach einem Attribut wie `flag="required"`. Das ist fast immer das falsche Ziel. Entscheidend ist nicht „welcher Flag fehlt?“, sondern **welche Authentifizierungsentscheidung du früher mit dem Flag erzwungen hast**. Beispiel: - `required` bedeutete früher oft: „Dieses Modul muss erfolgreich sein.“ - In Elytron erreichst du das meist dadurch, dass **genau der relevante Realm** in der Security-Domain verwendet wird oder dass die Auswahl über Mapping eindeutig erfolgt. - Wenn früher mehrere Login-Module kombiniert wurden, ist oft ein **Custom Realm** sauberer als ein krampfhafter Nachbau der alten JAAS-Kette. ([docs.wildfly.org](https://docs.wildfly.org/28/WildFly_Elytron_Security.html)) ## Klare Empfehlung Wenn du „den Flag für Elytron setzen“ willst, ist die richtige Antwort fast immer: **nicht Flag suchen, sondern die alte Security-Konfiguration auf Elytron-Konzepte umstellen.** Kurz gesagt: - **Legacy Security** → `login-module` + `flag` - **Elytron** → `security-domain` + `realm` + Mapping/Mechanismus ([docs.wildfly.org](https://docs.wildfly.org/28/WildFly_Elytron_Security.html)) Wenn du in einer konkreten WildFly-/EAP-Konfiguration arbeitest, ist die offizielle [Elytron-Dokumentation](https://docs.wildfly.org/28/WildFly_Elytron_Security.html) die passende Referenz; für die Attribute einer `security-domain` hilft auch die [Model-Reference](https://docs.wildfly.org/28/wildscribe/subsystem/elytron/security-domain/index.html).

Kategorie: Technik Tags: Elytron Security Flag

Verwandte Fragen

What is Elytron distributed-realm?

Ein Elytron distributed-realm bündelt mehrere Security Realms zu einem Realm, damit Benutzer je nach Identität aus unterschiedlichen Quellen authentifiziert werden können. Praktisch hei...

Was ist ein Elytron Aggregate-Realm?

aggregate-realm in Elytron kombiniert zwei Aufgaben, die oft getrennt liegen: Es authentifiziert einen Benutzer gegen ein Realm und lädt Rollen/Attribute für die Autorisierung aus einem oder...

Wie setze ich ein JBoss-Flag programmatisch?

Ja – in JBoss/WildFly setzt du ein „Flag“ programmatisch entweder als System-Property, als Umgebungswert in der Konfiguration oder als eigenes Laufzeit-Merkmal in deinem Code; entsch...