import org.argeo.api.cms.CmsConstants;
import org.argeo.api.cms.CmsLog;
-import org.argeo.cms.internal.kernel.Activator;
+import org.argeo.cms.internal.runtime.CmsContextImpl;
import org.argeo.cms.security.CryptoKeyring;
import org.argeo.osgi.useradmin.AuthenticatingUser;
-import org.argeo.osgi.useradmin.IpaUtils;
import org.argeo.osgi.useradmin.TokenUtils;
+import org.argeo.util.directory.ldap.IpaUtils;
import org.argeo.util.naming.LdapAttrs;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
private CallbackHandler callbackHandler;
private Map<String, Object> sharedState = null;
- private List<String> indexedUserProperties = Arrays
- .asList(new String[] { LdapAttrs.mail.name(), LdapAttrs.uid.name(), LdapAttrs.authPassword.name() });
+ private List<String> indexedUserProperties = Arrays.asList(new String[] { LdapAttrs.mail.name(),
+ LdapAttrs.uid.name(), LdapAttrs.employeeNumber.name(), LdapAttrs.authPassword.name() });
// private state
private BundleContext bc;
@Override
public boolean login() throws LoginException {
- UserAdmin userAdmin = Activator.getUserAdmin();
+ UserAdmin userAdmin = CmsContextImpl.getCmsContext().getUserAdmin();
final String username;
final char[] password;
Object certificateChain = null;
// if (singleUser) {
// OsUserUtils.loginAsSystemUser(subject);
// }
- UserAdmin userAdmin = Activator.getUserAdmin();
+ UserAdmin userAdmin = CmsContextImpl.getCmsContext().getUserAdmin();
Authorization authorization;
if (callbackHandler == null) {// anonymous
authorization = userAdmin.getAuthorization(null);
throw new LoginException("Kerberos login " + authenticatingUser.getName()
+ " is inconsistent with user admin login " + authenticatedUser.getName());
}
+ if (log.isTraceEnabled())
+ log.trace("Retrieve authorization for " + authenticatingUser + "... ");
authorization = Subject.doAs(subject, new PrivilegedAction<Authorization>() {
@Override