- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FSUserPrincipal / UserDTO.getRealname liefert in Preview und WebEdit immer SYSTEM
Hallo zusammen,
wir nutzen in einem unserer Projekte eine globale WebApp in der wir uns aus der Preview / Webedit heraus via Ticket anmelden:
#global.getUserService().getConnection().createTicket(true)
Jedoch liefert Session -> UserPrincipal -> UserDTO.getRealname immer "SYSTEM".
Wie kommt man an den tatsรคchlich eingeloggten User, bzw. kann es sein, dass ein Login via Ticket nicht zu demselben User einloggt der schon in der Preview/Webedit eingeloggt ist - obwohl das Login-Ticket in der Preview erstellt wurde?
Beste Grรผรe
Dominic Graulich
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Die Vorschau-Erzeugung lรคuft immer unter einem internen System-Benutzer. Fรผr deinen Anwendungs-Fall kannst du z.B. DynamicPersonalization benutzen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Peter,
die globale Webapp (รผber ein Modul deployt) befindet sich auf dem Internal-Jetty auf dem auch die Preview lรคuft.
In der Preview bekomme ich folgende Meldung zu nachfolgend aufgefรผhrtem Code:
Also bin ich hier in der Preview anscheinend nicht mit dem SYSTEM User angemeldet.
Der Code dazu:
#GLOBAL.EDITOR: $CMS_VALUE(#global.gca("editor"))$<br />
<%
javax.security.auth.Subject subject = (javax.security.auth.Subject) request.getSession().getAttribute("subject");
de.espirit.firstspirit.access.auth.FSUserPrincipal userPrincipal = (de.espirit.firstspirit.access.auth.FSUserPrincipal) subject.getPrincipals().toArray()[0];
%>
SESSION USER: <%=userPrincipal.getUser().getRealname()%><br />
Rufe ich eine solche Test.jsp in der globalen Webapp auf, an der ich mich via Login-Ticket angemeldet habe, kommt folgende Meldung:
Auch der Webservice, bei dem ich mich รผber &login.ticket=$CMS_VALUE(#global.getUserService().getConnection().createTicket(true))$ anmelde liefert den SYSTEM User.
Wie kann es sein, dass man in der Preview mit dem Original-User (in diesem Fall Dominic.Graulich) angemeldet ist und wenn ich mich aus dieser Preview-Sitzung heraus mit einem Login-Ticket an der globalen Webapp anmelde, mit dem SYSTEM User?
Beste Grรผรe
Dominic
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo zusammen,
gibt es hier noch ein Update?
Hier die Frage, die fรผr mich noch nicht geklรคrt ist:
Die kann es sein, dass man in der Preview mit dem Original-User (in diesem Fall Dominic.Graulich) angemeldet ist und wenn ich mich aus dieser Preview-Sitzung heraus mit einem Login-Ticket an der globalen Webapp anmelde, mit dem SYSTEM User?
Beste Grรผรe
Dominic
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich kann mich hier nur wiederholen:
Die Vorschau-Erzeugung lรคuft immer unter einem internen System-Benutzer. Fรผr deinen Anwendungs-Fall kannst du z.B. DynamicPersonalization benutzen
Anders formuliert: Der Benutzer innerhalb der Vorschau ist nicht der eingeloggte Web-Benutzer.

