Вопрос

У меня есть пользовательский входной модуль в ухе на jboss. Meta-inf уха имеет jboss-app.xml, которые указывают на логин-сервис .xml, который содержит MBean, который указывает на логин-config.xml, который определяет пользовательский модуль входа в систему.

Jboss.xml в Meta-INC EAR использует тот же домен безопасности, что определено для модуля входа в систему в логине-CONFIG.XML.

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

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

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

Это было полезно?

Решение 2

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

Мой jboss.xml был в папке Meta-inf для уха, она должна была быть в папке Meta-Inf для банки EJB.

По-видимому, файл jboss в папке Meta-inf ушей был бы jboss-app.xml, который, я думаю, был бы подсказка для запоминания в следующий раз.

Другие советы

То, что вы сделали до сих пор, создают модуль входа в систему, теперь вам нужно сказать, чтобы ваш 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 {
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top