Я пытаюсь реализовать аутентификацию базы данных с помощью Scout Eclipse.Eclipse Scout - Чистая проверка подлинности базы данных
Для этого я создал класс DataSourceCredentialVerifier
в модуле , который реализует интерфейс ICredentialVerifier
. Затем я применил метод init
класса UiServletFilter
для использования моего верификатора.
public class DataSourceCredentialVerifier implements ICredentialVerifier {
private static final Logger LOG = LoggerFactory.getLogger(DataSourceCredentialVerifier.class);
@Override
public int verify(String username, char[] password) throws IOException {
Object queryResult[][] = BEANS.get(IMySqlAuthService.class).load();
return AUTH_OK;
}
Я еще не реализовал логики аутентификации. Теперь моя задача - установить соединение с чистой базой данных.
Для этого я создал в следующие interface
совместно модуль:
public interface IMySqlAuthService extends IService {
Object[][] load();
}
Реализация находится в сервера модуля:
public class MySqlAuthService implements IMySqlAuthService {
@Override
public Object[][] load() {
String sql = "select username, password from users ";
Object[][] queryResult = SQL.select(sql, null, null);
return queryResult;
}
}
Во-первых, я хочу увидеть, если есть есть хотя бы что-то в запросе, но я получаю AssertionException здесь:
Object queryResult[][] = BEANS.get(IMySqlAuthService.class).load();
org.eclipse.scout.rt.platform.util.Assertions$AssertionException: Assertion error: no instance found for query: interface org.eclipse.scout.app.shared.services.IMySqlAuthService
at org.eclipse.scout.rt.platform.util.Assertions.fail(Assertions.java:580)
at org.eclipse.scout.rt.platform.util.Assertions.assertNotNull(Assertions.java:87)
at org.eclipse.scout.rt.platform.BEANS.get(BEANS.java:41)
Я не получаю экземпляр моей реализации MySqlAuthService
. Я предполагаю, что BeanManager
должен был создать экземпляр для меня. MySqlAuthService
должен быть зарегистрирован как Боб, так как мой интерфейс IMySqlAuthService
простирается от IService
, который содержит аннотацию @ApplicationScoped
.
Добавление аннотации @Bean
к MySqlAuthService
приводит к тому же исключению.
Вот некоторая информация о BeanManager
и аннотации: https://eclipsescout.github.io/6.0/technical-guide.html#sec-bean.manager
Вот еще один другой подход С.О. попробовал, но это не совсем правильно: https://www.eclipse.org/forums/index.php/t/1079741/
Как я могу получить свой пример для работы с моим сервисом?