论坛

主页 » Liferay Portal » magyarul

组合视图 统一视图 树状图
讨论主题 [ 上一个 | 下一个 ]
Tamas Filus
request.getRemoteUser(); (PortletRequest)
2012年6月29日 上午3:09
答复

Tamas Filus

等级: New Member

帖子: 1

加入日期: 2012年1月25日

最近的帖子

Sziasztok!

6.0.6-os portallal valo munka kozben a kovetkezo problemaba futottam bele, aminek a megoldasahoz segitseget szeretnek kerni.

A Portlet 2.0 szabvany szerint a targyban emlitett metodus a kerest kuldo felhasznalo loginnevevel kellene visszaterjen, ezert jogosnak erzem, hogy a 'screenName'-et varom eredmenyul, ellenben a 'userId' erkezik. Egy issue szerint egy korabbi verzios (4-es) Liferay Portlet App DTD lehetoseget adott arra, hogy a <user-principal-strategy> tag segitsegevel a default 'userId'-t feluldefinialhassuk a 'screenName'-mel, de a 6-osban mar nincs ilyen.

Masik megoldas lehetne a P3PUserInfos altal definialt user attributumok hasznalata, de azt tapasztaltam, hogy a portal ezeket nem allitja be, es a request.getAttribute(PortletRequest.USER_INFO); hivas ures mappel ter vissza.

A Portlet 2.0 szabvany kovetesevel szeretnem a problemat rezolvalni es igy elkerulni a Liferay API hasznalatat az alkalmazasomban, amennyiben lehetseges. Letezik esetleg olyan konfiguracios lehetoseg, amellyel valamelyik funkcionalitas mukodesre birhato a portalban?

A valaszokat elore is koszonom.

Udv.,
Tamas

EDIT:

Idokozben sikerult megoldanom, pl. portlet.xml-ben beallitjuk a kovetkezot:

1<user-attribute>
2  <description>User Nickname</description>
3  <name>user.name.nickName</name>
4</user-attribute>


Egy PortletRequestbol ezek utan pedig igy lehet kinyerni a kivant parametert:

1Map userInfo = (Map) request.getAttribute(PortletRequest.USER_INFO);
2String nickName = (userInfo == null) ? "" : (String) userInfo.get(PortletRequest.P3PUserInfos.USER_NAME_NICKNAME.toString());