Базовая аутентификация в Apache Karaf

У меня есть пакет OSGi, который развернут в Apache Karaf 2.2.8. В этом комплекте я использую маршруты CXF и Camel. Я написал перехватчик CXF, который выполняет базовую аутентификацию: берет всех существующих пользователей из базы данных и выполняет проверку.

Проблема в том, что при вызове метода handleMessage объект AuthorizationPolicy имеет значение null. Он не предоставляет никаких учетных данных. Вот мой код:

@Override
public void handleMessage(Message message)
        throws Fault {
        AuthorizationPolicy policy = message.get(AuthorizationPolicy.class);
    if (users == null) {
        setLastAccessedTime(Calendar.getInstance());
    }
    if (!wasRecentlyAccessed()) {
        users = this.loadUsers();
        setLastAccessedTime(Calendar.getInstance());
    }
    for (String user : users.values()) {
        LOGGER.debug("Existing user: " + user);
    }
    if (policy == null) {
        LOGGER.error("User attempted to log in with no credentials");
        sendErrorResponse(message, HttpURLConnection.HTTP_UNAUTHORIZED);
        return;
    }
    String password = users.get(policy.getUserName());
    if (password == null || !policy.getPassword().equals(password)) {
        LOGGER.error("Invalid login authentication for user: " + policy.getUserName());
        sendErrorResponse(message, HttpURLConnection.HTTP_FORBIDDEN);            
    }
}

Могу ли я в любом случае настроить основные параметры аутентификации в Karaf для конкретной конечной точки? Есть ли какой-то файл конфигурации или что-то в этом роде? в инете ничего не могу найти...


person Paulius Matulionis    schedule 26.07.2012    source источник


Ответы (1)


Посмотрите здесь: https://access.redhat.com/documentation/en-US/Fuse_ESB_Enterprise/7.1/html/Security_Guide/files/CamelJetty-BasicAuth.html

Очень ясно объясняется, как заставить базовую аутентификацию работать с Apache Karaf и Camel Jetty. Позже вы сможете использовать его для каждого пакета, развернутого в вашем Apache Karaf.

person Community    schedule 24.08.2012