Модуль пользовательского входа в JAAS

У меня в ухе есть настраиваемый модуль входа в систему на jboss. META-INF уха имеет jboss-app.xml, который указывает на login-service.xml, который содержит mbean, указывающий на login-config.xml, который определяет настраиваемый модуль входа в систему.

Jboss.xml в META-INF уха использует тот же домен безопасности, что и определенный для модуля входа в login-config.xml.

При вызове EJB внутри этого уха я не вижу, чтобы мой пользовательский модуль входа выполнял методы входа и фиксации, как я видел, когда реализовывал это где-то еще в прошлом.

У меня есть настройка трассировки log4j для org.jboss.security, и я не вижу ничего при выполнении вызова EJB. Вызов EJB выполнен успешно, хотя я не аутентифицирован.

Я не могу понять, почему не вызывается мой модуль входа в систему или как отлаживать процесс принятия решения JAAS. Любые идеи? Спасибо.


person rich    schedule 09.06.2010    source источник


Ответы (2)


То, что вы сделали до сих пор, - это создание модуля входа в систему, теперь вам нужно указать своему EJB, чтобы он использовал его:

import javax.annotation.security.RolesAllowed;
import javax.ejb.Stateless;

import org.jboss.ejb3.annotation.SecurityDomain;


@Stateless
@SecurityDomain("mySecurityDomain")
@RolesAllowed({"guestRole", "userRole", "adminRole"})
public class SecureBean implements Secure {
person Guillaume    schedule 09.06.2010
comment
Спасибо - как это сделать без аннотаций? У меня есть EJB, определенный в том же jboss.xml, который определяет домен безопасности, не уверен, что это альтернатива аннотациям. - person rich; 09.06.2010

Я нашел проблему с некоторой помощью.

Мой jboss.xml находился в папке META-INF для уха, он должен был быть в папке META-INF для EJB jar.

По-видимому, файл jboss в папке META-INF уха был бы jboss-app.xml, что, я думаю, было бы подсказкой, которую нужно запомнить в следующий раз.

person rich    schedule 11.06.2010