Доступ к списку пользователей через JBoss с правами администратора?

Мы хотели бы сделать список пользователей доступным в портлете, аналогичном административной версии UsersPortlet, но для тех, кто не является администратором. Этот список будет только имена. Есть ли способ сделать это через JBoss GA 4.2.2? В настоящее время мы разрабатываем Hypersonic DB, но я надеюсь, что есть независимый от DB способ сделать это через JBoss.

1 ответ

Решение

Мы нашли 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, это не может иметь место в базовых компонентах.

Другие вопросы по тегам