UMGT 2.0: Auslesen der UserId

Hier finden sich Fragen und Ergänzung zur Dokumentation. // All questions and discussions about the documentation.
Antworten
Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

UMGT 2.0: Auslesen der UserId

Beitrag von ma2604121 » 08.12.2013, 15:29:11

Hallo,

ich möchte die Beziehung User <> Auto in einer Datenbank verwenden. Hierzu nutze ich die Tabellen User (des UMGT) und die Tabelle Car.

Die Beziehung ist in der DEFAULT_auto_relations.ini wie folgt festgelegt:

Code: Alles auswählen

; Einem Benutzer ein bestimmtes Fahrzeug zuordnen
[User2Car]
Type = "COMPOSITION"
SourceObject = "User"
TargetObject = "Car" 
Nun finde ich allerdings keine Möglichkeit die ID des aktuell angemeldeten Benutzers auszulesen. In früheren Versionen habe ich das wie folgt gelöst:

Code: Alles auswählen

$uM = $this->getServiceObject('modules::usermanagement::biz', 'UmgtUserSessionStore', 'SESSIONSINGLETON');
$appIdent = $this->getApplicationIdentifier();
$user = $uM->getUser($appIdent);
$id = $user->getObjectId();  
Das scheint aber mit Version 2.0 nicht mehr so umsetzbar zu sein. Daher sieht mein Code bisher so aus:

Code: Alles auswählen

# Neues GDO-Object erstellen
$Car = new APFmodulesgenericormapperdataGenericDomainObject('Car');
$Car->setProperty('Description', $form->getFormElementByName('vehicle')->getAttribute('value'));
$uM = $this->getUmgtManager();
$appIdent = $this->getContext();
$user = $uM->getUser($appIdent);

private function &getUmgtManager() {
 return $this->getDIServiceObject('APF\modules\usermanagement\biz', 'UmgtManager');
} 
Allerdings führt das zu folgender Meldung:

Code: Alles auswählen

Fatal error: Call to undefined method APF\modules\usermanagement\biz\UmgtManager::getUser() in /var/www/auto/controller/AutoController.php on line 27 
Also scheint es diese Methode ->getUser() nicht mehr zu geben.

Wie kann ich also in APF 2.0 auf einfache Art und Weise die Id des aktuell angemeldeten Benutzers auslesen?

Benutzeravatar
ma2604121
Beiträge: 349
Registriert: 24.01.2011, 23:42:18

Re: UMGT 2.0: Auslesen der UserId

Beitrag von ma2604121 » 08.12.2013, 17:03:01

Lesen hilft...

Code: Alles auswählen

# UserId holen
$sessionStore = & $this->getServiceObject('APF\modules\usermanagement\biz\UmgtUserSessionStore', APFService::SERVICE_TYPE_SESSION_SINGLETON);
$appIdent = $this->getContext();
$user = $sessionStore->getUser($appIdent); 
Mit APF 2.0 sollte es auf diesem Weg umsetzbar sein.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: UMGT 2.0: Auslesen der UserId

Beitrag von dr.e. » 08.12.2013, 21:16:47

Korrekt. Effektiv hat sich an der Idee, den Benutzer im UmgtUserSessionStore zu speichern nichts geändert. Die Dokumentation ist an dieser Stelle noch nicht 100%ig fertig, du findest aber im Code des UMGT-Moduls zahlreiche Anwendungsfälle.

Solltest du noch weitere Fragen haben, sag einfach Bescheid! :)
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste