Seit Version 6.5.1 von CMS Fiona können Benutzereigenschaften, die beispielsweise von einem Verzeichnisdienst bereitgestellt wurden, im Portlet über das Request-Attribut javax.portlet.PortletRequest.USER_INFO
ausgelesen werden.
Die vom Portal bereitgestellten Attribute werden in der Datei portlet.xml
aufgeführt. Das folgende Beispiel zeigt zwei Attribute:
<user-attribute> <name>user.name.real</name> </user-attribute> <user-attribute> <name>user.business-info.online.email</name> </user-attribute>
In den meisten Fällen werden diese Attribute jedoch nicht unter den im Standard genannten Namen bereitgestellt. Deshalb bietet der Portal Manager eine Möglichkeit, Namen aus dem Standard auf bereitgestellte Attributnamen abzubilden. Dazu wird in der Datei pm.xml
das Property userAttributeMapper
im Bean portletContainer
gesetzt.
Das folgende Beispiel zeigt die Verwendung einer einfachen Abbildung der beiden obigen Attribute auf zwei auch vom Content Manager bereitgestellte Attribute:
<property name="userAttributeMapper"> <bean class="com.infopark.pm.user.SimpleAttributeMapper"> <property name="mapping"> <value> user.business-info.online.email = email user.name.real = realName </value> </property> </bean> </property>
Bei dieser Konfiguration kann ein Portlet die Eigenschaft email
über folgenden Code abfragen:
Map userInfo = (Map)request.getAttribute(PortletRequest.USER_INFO); String email = (String)userInfo.get("user.business-info.online.email");