Ich benutze Schlüsselcloak, um mein Servlet zu schützen. Ich muss neue Rollen hinzufügen und sie Benutzern dynamisch zuweisen. Es funktioniert in Schlüsselverknüpfung mit Admin-API, aber ich kann nicht herausfinden, wie Sie die Rollen für bestimmte Benutzer in einem Servlet erhalten.Abrufen von Benutzerrollen in der Servlet-Anwendung mithilfe von keycloak
habe ich versucht, diese Lösung, aber ich leere Menge erhalten:
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
...
KeycloakSecurityContext context = (KeycloakSecurityContext)request.getAttribute(KeycloakSecurityContext.class.getName());
Set<String> roles = AdapterUtils.getRolesFromSecurityContext((RefreshableKeycloakSecurityContext) context);
...
}
Das Hinzufügen von Rollen zum Sicherheitskontext von Keycloak ist keine gute Idee. Diese Rollen sind nur vorhanden, bis das Token aktualisiert wird. – Scott