2

我正在尝试将角色列表从 WL 服务器返回到移动客户端设备

在我的 LoginModule 的 createIdentity 方法中,我添加了以下代码

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":{"userId":"user1","attributes":{"AuthenticationDate":"Thu Nov 14 22:39:35 EST 2013"},"isUserAuthenticated":1,"displayName":"Fred Flintstone" },"WL-Authentication-Success":{"BasicAuthRealm":{"userId":"user1","attributes":{"AuthenticationDate":"Thu Nov 14 22:39:35 EST 2013"},"isUserAuthenticated" :1,"displayName":"Fred Flintstone"}},

我正在运行 WL 6.0.0.1 企业版并针对 Liberty 服务器 v8.5.5.0 运行

有任何想法吗?

4

1 回答 1

1

用户成功认证后,不会将组对象发送回客户端。发回的 UserIdentity 对象的唯一部分是名称、显示名称和属性。我不知道组没有被送回的原因。也许对象的目的仅适用于服务器,而从未打算供客户端使用。

不幸但简单的解决方法是将您需要了解的有关您的组的任何信息添加到您的属性对象中。

于 2013-11-14T23:44:39.380 回答