通过JBoss以非管理员角色访问用户列表?

时间:2009-09-23 21:42:05

标签: jboss jboss-portal

我们希望在类似于UsersPortlet的管理员版本的portlet中列出可用的用户列表,但是对于那些不是管理员的用户。此列表仅为名称。有没有办法通过JBoss GA 4.2.2做到这一点?我们目前正在开发Hypersonic数据库,但我希望通过JBoss有一种独立于数据库的方法来实现这一点。

1 个答案:

答案 0 :(得分:0)

我们找到了Identity Manager及其相关类。使用默认配置源代码可以是:

import org.jboss.portal.identity.UserModule;
import org.jboss.portal.identity.RoleModule;
import org.jboss.portal.identity.MembershipModule;
import org.jboss.portal.identity.UserProfileModule;

[...]

(UserModule)new InitialContext().lookup("java:portal/UserModule");
RoleModule rm = (RoleModule)new InitialContext().lookup("java:portal/RoleModule");
(MembershipModule)new InitialContext().lookup("java:portal/MembershipModule");
(UserProfileModule)new InitialContext().lookup("java:portal/UserProfileModule");

rm.findRoles()

让我们得到的一个关键问题是,要正确填充InitialContext,必须在事务中进行。这意味着如果您使用的是RichFaces,则无法在底层bean中进行此操作。