import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import javax.security.auth.callback.CallbackHandler;
import javax.servlet.Servlet;
import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.argeo.cms.jcr.internal.servlet.CmsWebDavServlet;
import org.argeo.cms.jcr.internal.servlet.JcrHttpUtils;
import org.argeo.cms.osgi.DataModelNamespace;
-import org.argeo.cms.security.CryptoKeyring;
-import org.argeo.cms.security.Keyring;
import org.argeo.jcr.Jcr;
import org.argeo.jcr.JcrException;
import org.argeo.jcr.JcrUtils;
-import org.argeo.util.LangUtils;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.wiring.BundleCapability;
import org.osgi.framework.wiring.BundleWire;
import org.osgi.framework.wiring.BundleWiring;
-import org.osgi.service.cm.ManagedService;
import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
import org.osgi.util.tracker.ServiceTracker;
registerRepositoryServlets(CmsConstants.EGO_REPOSITORY, egoRepository);
// Keyring only if Argeo extensions are available
- if (argeoDataModelExtensionsAvailable) {
- new ServiceTracker<CallbackHandler, CallbackHandler>(bc, CallbackHandler.class, null) {
-
- @Override
- public CallbackHandler addingService(ServiceReference<CallbackHandler> reference) {
- NodeKeyRing nodeKeyring = new NodeKeyRing(egoRepository);
- CallbackHandler callbackHandler = bc.getService(reference);
- nodeKeyring.setDefaultCallbackHandler(callbackHandler);
- bc.registerService(LangUtils.names(Keyring.class, CryptoKeyring.class, ManagedService.class),
- nodeKeyring, LangUtils.dict(Constants.SERVICE_PID, CmsConstants.NODE_KEYRING_PID));
- return callbackHandler;
- }
-
- }.open();
- }
+// if (argeoDataModelExtensionsAvailable) {
+// new ServiceTracker<CallbackHandler, CallbackHandler>(bc, CallbackHandler.class, null) {
+//
+// @Override
+// public CallbackHandler addingService(ServiceReference<CallbackHandler> reference) {
+// NodeKeyRing nodeKeyring = new NodeKeyRing(egoRepository);
+// CallbackHandler callbackHandler = bc.getService(reference);
+// nodeKeyring.setDefaultCallbackHandler(callbackHandler);
+// bc.registerService(LangUtils.names(Keyring.class, CryptoKeyring.class, ManagedService.class),
+// nodeKeyring, LangUtils.dict(Constants.SERVICE_PID, CmsConstants.NODE_KEYRING_PID));
+// return callbackHandler;
+// }
+//
+// }.open();
+// }
}
/** Session is logged out. */
import org.argeo.api.cms.CmsConstants;
import org.argeo.api.cms.CmsLog;
import org.argeo.cms.internal.runtime.CmsContextImpl;
-import org.argeo.cms.security.CryptoKeyring;
import org.argeo.osgi.useradmin.AuthenticatingUser;
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;
-import org.osgi.framework.ServiceReference;
import org.osgi.service.useradmin.Authorization;
import org.osgi.service.useradmin.Group;
import org.osgi.service.useradmin.User;
CmsAuthUtils.addAuthorization(subject, authorization);
// Unlock keyring (underlying login to the JCR repository)
- char[] password = (char[]) sharedState.get(CmsAuthUtils.SHARED_STATE_PWD);
- if (password != null) {
- ServiceReference<CryptoKeyring> keyringSr = bc.getServiceReference(CryptoKeyring.class);
- if (keyringSr != null) {
- CryptoKeyring keyring = bc.getService(keyringSr);
- Subject.doAs(subject, new PrivilegedAction<Void>() {
-
- @Override
- public Void run() {
- try {
- keyring.unlock(password);
- } catch (Exception e) {
- e.printStackTrace();
- log.warn("Could not unlock keyring with the password provided by " + authorization.getName()
- + ": " + e.getMessage());
- }
- return null;
- }
-
- });
- }
- }
+// char[] password = (char[]) sharedState.get(CmsAuthUtils.SHARED_STATE_PWD);
+// if (password != null) {
+// ServiceReference<CryptoKeyring> keyringSr = bc.getServiceReference(CryptoKeyring.class);
+// if (keyringSr != null) {
+// CryptoKeyring keyring = bc.getService(keyringSr);
+// Subject.doAs(subject, new PrivilegedAction<Void>() {
+//
+// @Override
+// public Void run() {
+// try {
+// keyring.unlock(password);
+// } catch (Exception e) {
+// e.printStackTrace();
+// log.warn("Could not unlock keyring with the password provided by " + authorization.getName()
+// + ": " + e.getMessage());
+// }
+// return null;
+// }
+//
+// });
+// }
+// }
// Register CmsSession with initial subject
CmsAuthUtils.registerSessionAuthorization(request, subject, authorization, locale);