Wir migrieren von WildFly 24 auf 38 und implementieren auch OIDC mit Keycloak. Wir stellen eine EAR mit mehreren EJB- und WAR-Unterbereitstellungen bereit.
Wenn ich eine EJB über Remoting von unserer Desktop-Anwendung aus aufrufe, funktioniert alles, der Sicherheitskontext wird ordnungsgemäß erstellt und das Einfügen von EJB-Beans aus einer anderen Unterbereitstellung funktioniert auch, der Sicherheitskontext wird an alle anderen EJB-Unterbereitstellungen weitergegeben.
Das Problem besteht darin, dass ich einen REST-Endpunkt von einem Browser in einen meiner treffe WARs, der Sicherheitskontext ist für diesen WAR korrekt, ctx.getCallerPrincipal().getName() gibt meinen angemeldeten Benutzer zurück, aber wenn ich ein EJB aus einer anderen Unterbereitstellung injiziere, ist in diesen Beans ctx der Aufrufer-Principal anonym.
Alles scheint im standalone.xml richtig verkabelt zu sein:
EJB3-Subsystem:
Nach meinem Verständnis übergeben sowohl das EJB3-Subsystem als auch das Undertow-Subsystem die Authentifizierung und Autorisierung an Elytron, das den Sicherheitskontext für ApplicationDomain erstellt, und sowohl EJB3 als auch Undertow sind damit verbunden.
Es gibt nirgendwo Einschränkungen in web.xml oder application.xml
Was habe ich übersehen?
Wir migrieren von WildFly 24 auf 38 und implementieren auch OIDC mit Keycloak. Wir stellen eine EAR mit mehreren EJB- und WAR-Unterbereitstellungen bereit. Wenn ich eine EJB über Remoting von unserer Desktop-Anwendung aus aufrufe, funktioniert alles, der Sicherheitskontext wird ordnungsgemäß erstellt und das Einfügen von EJB-Beans aus einer anderen Unterbereitstellung funktioniert auch, der Sicherheitskontext wird an alle anderen EJB-Unterbereitstellungen weitergegeben. Das Problem besteht darin, dass ich einen REST-Endpunkt von einem Browser in einen meiner treffe WARs, der Sicherheitskontext ist für diesen WAR korrekt, ctx.getCallerPrincipal().getName() gibt meinen angemeldeten Benutzer zurück, aber wenn ich ein EJB aus einer anderen Unterbereitstellung injiziere, ist in diesen Beans ctx der Aufrufer-Principal anonym. Alles scheint im standalone.xml richtig verkabelt zu sein: EJB3-Subsystem: [code]
[/code] elytron:Community-Subsystem: [code]
.... [/code] Hier funktioniert der JWT-Bereich ordnungsgemäß für Remote-Aufrufe Im elytron-oidc-client-Subsystem habe ich alle meine WARs wie folgt: [code] my-keycloak-realm my-keycloak-client true https://mykeycloak.com NONE preferred_username true
[/code] Im Undertow:Community-Subsystem: [code]
[/code] Undertow hat Folgendes im Header-Tag: jboss-ejb3.xml in allen EJBs META_INF: [code]
* mySecurityDomain
[/code] Lasty, in der WARs WEB-INF die jboss-web.xml: [code] mySecurityDomain
[/code] Nach meinem Verständnis [url=viewtopic.php?t=23808]übergeben[/url] sowohl das EJB3-Subsystem als auch das Undertow-Subsystem die Authentifizierung und Autorisierung an Elytron, das den Sicherheitskontext für ApplicationDomain erstellt, und sowohl EJB3 als auch Undertow sind damit verbunden. Es gibt nirgendwo Einschränkungen in web.xml oder application.xml Was habe ich übersehen?
Ich spiele mit Quarkus JWT herum und möchte den Sicherheitskontext auf einen vervollständigbaren Async -Lieferanten übertragen, bei dem Methoden aufgerufen werden, die eine Autorisierung erfordern....
Wildfly 26.1.3-Finale auf JDK 8. Während der Fehlerbehebung finde ich, dass ich nicht einmal Java bieten kann: comp/env; Ich weiß nicht, ob der erstere mit dem späteren zusammenhängt, daher poste ich...
Integriere eine Spring-Boot-Anwendung in den Spring AI MCP Server (Spring-AI-Starter-MCP-Server-Webmvc). Ich teste es mit einer anderen Spring-Boot-Anwendung als Client und nutze die...
Integriere eine Spring-Boot-Anwendung in den Spring AI MCP Server (Spring-AI-Starter-MCP-Server-Webmvc). Ich teste es mit einer anderen Spring-Boot-Anwendung als Client und nutze die Abhängigkeit von...
Ich habe mit Langgraph ein recht einfaches Diagramm erstellt. Ich habe mich für die vorgefertigte Funktion tools_condition von Langgraph entschieden. Also habe ich es importiert und wie folgt...