User Profile Information

I am trying to get user information in my portlet (JSR 286 portlet deployed in JBoss GateIn), for example

     Map userInfo = (Map) request.getAttribute(PortletRequest.USER_INFO);

but I got nothing. My .xml portlet has the following options:

     <user-attribute>
    <description>User Name</description>
    <name>user.name</name>
</user-attribute>
<user-attribute>
    <description>User Id</description>
    <name>user.id</name>
</user-attribute>

GateIn provides a PortalRequestContext that gives the getRemoteUser () method to enter the user ID. This identifier can then be used by OrganizationService to obtain the User, but it all depends on GateIn, and not according to the JSR286 standard. JSR 286 claims that user-related attributes can be retrieved from PortletRequest.USER_INFO as described above. Please guide.

Thanks in advance!

Ps: Similar posts in the JBoss community http://community.jboss.org/message/425683#425683

+3
2

, -

<user-attribute>
    <description>User Given Name</description>
    <name>user.name.given</name>
</user-attribute>
<user-attribute>
    <description>User Last Name</description>
    <name>user.name.family</name>
</user-attribute>
<user-attribute>
    <description>User eMail</description>
    <name>user.business-info.online.email</name>
</user-attribute>

- ( ).. jsr286

user.gender
user.employer
user.department
user.jobtitle
user.name.prefix
user.name.given
user.name.family
user.name.middle
user.name.suffix
user.name.nickName
user.login.id
user.home-info.postal.name
user.home-info.postal.street
user.home-info.postal.city
user.home-info.postal.stateprov
user.home-info.postal.postalcode
user.home-info.postal.country
user.home-info.postal.organization
user.home-info.telecom.telephone.intcode
user.home-info.telecom.telephone.loccode
user.home-info.telecom.telephone.number
user.home-info.telecom.telephone.ext
user.home-info.telecom.telephone.comment
user.home-info.telecom.fax.intcode
user.home-info.telecom.fax.loccode
user.home-info.telecom.fax.number
0
SPList userInformationList = web.SiteUserInfoList;
SPUser user = web.EnsureUser(web.CurrentUser.Name);
// The actual User Information is within this SPListItem  
SPListItem userItem = userInformationList.Items.GetItemById(user.ID);
if (userItem["EMail"] != null)
    email = userItem["EMail"].ToString();
-1

All Articles