import javax.security.auth.login.LoginException;
import javax.security.auth.spi.LoginModule;
-import org.argeo.api.cms.CmsConstants;
import org.argeo.api.cms.CmsLog;
+import org.argeo.cms.CmsDeployProperty;
import org.argeo.cms.internal.auth.CmsSessionImpl;
import org.argeo.cms.internal.runtime.CmsContextImpl;
-import org.argeo.cms.internal.runtime.KernelUtils;
-import org.osgi.service.http.HttpContext;
+import org.argeo.cms.internal.runtime.CmsStateImpl;
import org.osgi.service.useradmin.Authorization;
/** Use the HTTP session as the basis for authentication. */
public boolean login() throws LoginException {
if (callbackHandler == null)
return false;
- RemoteAuthCallback httpCallback = new RemoteAuthCallback();
+ RemoteAuthCallback remoteAuthCallback = new RemoteAuthCallback();
try {
- callbackHandler.handle(new Callback[] { httpCallback });
+ callbackHandler.handle(new Callback[] { remoteAuthCallback });
} catch (IOException e) {
throw new LoginException("Cannot handle http callback: " + e.getMessage());
} catch (UnsupportedCallbackException e) {
return false;
}
- request = httpCallback.getRequest();
+ request = remoteAuthCallback.getRequest();
if (request == null) {
- RemoteAuthSession httpSession = httpCallback.getHttpSession();
+ RemoteAuthSession httpSession = remoteAuthCallback.getHttpSession();
if (httpSession == null)
return false;
// TODO factorize with below
log.trace("Retrieved authorization from " + cmsSession);
}
} else {
- authorization = (Authorization) request.getAttribute(HttpContext.AUTHORIZATION);
+ authorization = (Authorization) request.getAttribute(RemoteAuthRequest.AUTHORIZATION);
if (authorization == null) {// search by session ID
RemoteAuthSession httpSession = request.getSession();
if (httpSession == null) {
} else {
if (log.isTraceEnabled())
log.trace("HTTP login: " + true);
- request.setAttribute(HttpContext.AUTHORIZATION, authorization);
+ request.setAttribute(RemoteAuthRequest.AUTHORIZATION, authorization);
return true;
}
}
if (log.isDebugEnabled())
log.debug("Client certificate " + certDn + " verified by servlet container");
} // Reverse proxy verified the client certificate
- String clientDnHttpHeader = KernelUtils.getFrameworkProp(CmsConstants.HTTP_PROXY_SSL_DN);
+ String clientDnHttpHeader = CmsStateImpl.getDeployProperty(CmsContextImpl.getCmsContext().getCmsState(),
+ CmsDeployProperty.HTTP_PROXY_SSL_HEADER_DN);
if (clientDnHttpHeader != null) {
String certDn = req.getHeader(clientDnHttpHeader);
// TODO retrieve more cf. https://httpd.apache.org/docs/current/mod/mod_ssl.html