мы пытаемся создать кластер Wildfly 16 High Available с API безопасности JEE8. Проект работает как отдельное приложение, но не как кластер! Мы получаем Infispan NotSerializableException.
У нас есть отдельное приложение wildfly 16 с jsf 2.3, CDI 2.0 и Soteria.
Это работает как автономный.
Теперь мы хотим запустить эту конфигурацию как отдельный кластер wildfly.
Полевые мухи приближаются, и они знают друг друга.
Но когда мы вызываем наше приложение, мы получаем следующее исключение:
java.lang.IllegalArgumentException: org.infinispan.commons.marshall.NotSerializableException: org.glassfish.soteria.servlet.RequestData
При необходимости мы можем опубликовать всю трассировку стека.
Если мы удалим «распространяемый» из файла web.xml, он будет работать без каких-либо исключений, но тогда мы не сможем разделить сеанс между экземплярами.
Нам не хватает какой-то конфигурации? Или у нас другое недоразумение?
Спасибо за вашу помощь
@AutoApplySession
@LoginToContinue(loginPage = "/login.xhtml", errorPage = "", useForwardToLogin = true)
@ApplicationScoped
public class CustomAuthenticationMechanism implements HttpAuthenticationMechanism {
@Inject
private CustomIdentityStore identityStore;
...
}
@Model
public class LoginBean implements Serializable {
public void login() {
FacesContext context = FacesContext.getCurrentInstance();
Credential credential = new CustomCredential(username, password);
AuthenticationStatus status = securityContext.authenticate(
(HttpServletRequest) externalContext.getRequest(),
(HttpServletResponse) externalContext.getResponse(),
withParams()
.credential(credential)
.newAuthentication(false)
.rememberMe(true)
);
...
}
}
web.xml:
...
distributable
...
Изменить с 3 июля 2019 года:
Как я теперь вижу, проблема в империменте Сотерии.
Я нашел следующий коммит на github: "https://github.com/eclipse-ee4j/soteria/commit/fd9a29c4452f99b426dabc296ec759d36766a56f".
Вопрос для меня сейчас, когда это оживает?
Каковы его альтернативы, чтобы получить доступ к ресурсам на основе ролей и перенаправить неаутентифицированных пользователей на пользовательскую страницу входа?