用户个人资料信息

发布于 2024-11-13 01:11:52 字数 960 浏览 10 评论 0原文

我试图在我的 portlet(部署在 JBoss GateIn 中的 JSR 286 portlet)中获取用户信息,

     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() 方法来获取登录用户的 ID。然后,OrganizationService 可以使用此 id 来获取 User,但这都是特定于 GateIn 的,而不是按照 JSR286 标准。 JSR 286 规定可以从 PortletRequest.USER_INFO 获取用户相关属性,如上所述。请指导。

提前致谢!

Ps:JBoss社区上的类似帖子 http://community.jboss.org/message/425683#425683< /a>

I am trying to fetch user info in my portlet (JSR 286 portlet deployed in JBoss GateIn) like

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

but I get nothing back. My portlet.xml has following params:

     <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 PortalRequestContext which gives getRemoteUser() method to get logged in user's id. This id can then be used by OrganizationService to get User but thats all GateIn specific and not as per JSR286 standard. JSR 286 states that user related attributes can be fetched from PortletRequest.USER_INFO as mentioned above. Please guide.

Thanks in advance!

Ps: Similar post on JBoss community http://community.jboss.org/message/425683#425683

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故事还在继续 2024-11-20 01:11:52

你的名字 id 是不同的,根据规范,它是这样的,

<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

your name ids are different, according to the spec it is something like,

<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>

below are more(just part of it)..you can get the full list from jsr286 spec

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
原谅过去的我 2024-11-20 01:11:52
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();
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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文