フォーラム

ホーム » Liferay Portal » magyarul

構造的に表示 平面上に表示 ツリー上に表示
スレッド [ 前へ | 次へ ]
Tamas Filus
request.getRemoteUser(); (PortletRequest)
2012/06/29 3:09
答え

Tamas Filus

ランク: New Member

投稿: 1

参加年月日: 2012/01/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());