2013-11-14 5 views
2

Я пытаюсь вернуть список ролей обратно на мобильное устройство клиента с сервера WLНе удается получить роли пользователей

В методе createIdentity моего LoginModule я добавил следующий код

HashMap<String, Object> customAttributes = new HashMap<String, Object>(); 
customAttributes.put("AuthenticationDate", new Date()); 

Set<String> groups = new HashSet<String>(); 
groups.add("Managers"); 
groups.add("Users"); 

UserIdentity identity = new UserIdentity(loginModule, USERNAME, "Fred Flintstone", groups, customAttributes, PASSWORD); 

Отображаемое имя «Fred Flintstone» возвращается на мобильное устройство, пользовательские атрибуты возвращаются, но информация о группе, кажется, где-то теряется.

Я получаю следующее сообщение отображается в журнале мобильных устройств

"BasicAuthRealm": { "идентификатор пользователя": "user1", "атрибуты": { "AuthenticationDate": "Чт ноя 14 22:39:35 EST 2013 "}," isUserAuthenticated ": 1," displayName ":" Fred Flintstone "}," WL-Authentication-Success ": {" BasicAuthRealm ": {" userId ":" user1 "," attributes ": {" AuthenticationDate " : «Чт ноя 14 22:39:35 EST 2013»}, «isUserAuthenticated»: 1, «displayName»: «Fred Flintstone»}},

Я запускаю WL 6.0.0.1 Enterprise edition и работает с Liberty сервер v8.5.5.0

Любые идеи?

ответ

1

Объект групп не отправляется обратно клиенту после успешной аутентификации пользователя. Единственными частями возвращаемого объекта UserIdentity являются имя, displayName и атрибуты. Я не знаю, почему группы не отправляются обратно. Возможно, цель была предназначена только для сервера и никогда не предназначалась для использования клиентом.

Несчастливое, но легкое обходное решение заключается в том, чтобы добавить любую информацию, необходимую вам о своей группе, к объекту атрибутов.