информация о профиле пользователя

Я пытаюсь получить информацию о пользователе в своем портлете (портлет JSR 286, развернутый в JBoss GateIn), например

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

но я ничего не получаю обратно. Мой portlet.xml имеет следующие параметры:

     <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 предоставляет PortalRequestContext, который дает метод getRemoteUser() для входа в систему с идентификатором пользователя. Затем этот идентификатор может использоваться OrganizationService для получения пользователя, но это все зависит от GateIn, а не в соответствии со стандартом JSR286. JSR 286 указывает, что связанные с пользователем атрибуты могут быть получены из PortletRequest.USER_INFO, как указано выше. . Пожалуйста, направляйте.

Заранее спасибо!

Ps: аналогичный пост в сообществе JBoss http://community.jboss.org/message/425683#425683< /а>


person mod    schedule 03.06.2011    source источник


Ответы (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
person Kalaiselvam M    schedule 13.02.2014

person    schedule
comment
UserInformationList — это скрытый список, и мы можем получить доступ через web.SiteUserInfoList. - person Raju Joshi; 11.10.2012
comment
Я ищу способ, который JSR 286 предлагает для решения упомянутого сценария. - person mod; 13.10.2012