1
我有一個OSGi
捆綁包,它被部署到Apache Karaf 2.2.8
中。在此捆綁中,我使用CXF
和Camel
路線。我寫了一個CXF
攔截器,它執行基本身份驗證:從數據庫獲取所有現有用戶並進行驗證。Apache Karaf中的基本身份驗證
問題是當調用方法handleMessage
時,AuthorizationPolicy
對象爲空。它不提供任何憑據。這裏是我的代碼:
@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基本認證參數的特定端點?是否有某種配置文件或什麼?我不能在互聯網上找到什麼...