Замена штатной реализации com.haulmont.cuba.core.global.Security

Добрый день!
В проекта появилась необходимость реализовать свою безопасность.
Хочу создать класс и его impl com.haulmont.cuba.core.global.Security.

Как реализовать вызов моего класс, а не штатного?

Добрый день,
Заменить любой Spring-бин можно, указав определение расширенного класса бина в spring.xml
См. Расширение бизнес-логики - Платформа CUBA. Руководство по разработке приложений

Так как бин Security присутствует в приложении два раза: один раз в web-контексте и один раз в core-контексте, то переопределить его нужно два раза в двух разных spring.xml файлах.

Нужно отметить, что команда CUBA не очень рекомендует подобные расширения системных бинов. Они могут затруднить в будущем обновление проекта на новые версии платформы (т.е. на Jmix).

Добрый день!
Добавил в двух местах новый бин, но теперь выдает ошибку

Error creating bean with name ‘cuba_EntityImportViewBuilderAPI’: Unsatisfied dependency expressed through field ‘security’; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type ‘com.haulmont.cuba.core.global.Security’ available: expected single matching bean but found 2: cuba_Security,IBTSecurity

Он теперь видит два бина не может понять какой ему использовать.

public class IBTSecurity implements Security

Это моя impl, ниже код не стал присылать т.к. я везде выставил там TRUE

По ссылке написано:

Аннотацию @Component в расширяющем классе применять нельзя, переопределение бинов
возможно только с помощью конфигурации в XML.

Регистрируем класс в spring.xml модуля core проекта с тем же идентификатором, что и бин платформы

это убрал

Правильно ли я понимаю, что в параметр id я должен указать “cuba_Security”?

да
5 символов