07-05-2019 09:36 AM
Ciao a tutti,
ho creato un utente e vorrei impersonificare l'utente come amministatore quando eseguo alcune operazioni,
ho provato con il seguente codice java:
public static void impersonate()throws Exception {
AuthenticationUtil.runAsSystem(
new AuthenticationUtil.RunAsWork<Object>() {
public Object doWork() throws Exception {
SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
Map<String, String> parameter = new HashMap<String, String>();
parameter.put(SessionParameter.USER, "testProfilazione");
parameter.put(SessionParameter.PASSWORD, "testProfilazione");
parameter.put(SessionParameter.ATOMPUB_URL, ALFRSCO_ATOMPUB_URL);
parameter.put(SessionParameter.BINDING_TYPE,BindingType.ATOMPUB.value());
List<Repository> repositories=sessionFactory.getRepositories(parameter);
session=repositories.get(0).createSession();
AuthenticationUtil lu = new AuthenticationUtil();
lu.afterPropertiesSet();
AuthenticationUtil.setRunAsUser("testProfilazione");
AuthenticationUtil.setFullyAuthenticatedUser("testProfilazione");
//QUI SI ROMPE
Document newDocument = (Document)session.getObjectByPath("/xx/xxx/documentLibrary/nuovo documento test");
return null;
}
}
);
}
purtroppo ricevo la seguente eccezione appena tento di accedere al documento:
Exception in thread "main" org.apache.chemistry.opencmis.commons.exceptions.CmisPermissionDeniedException: Permission denied: 0605372730 Accesso Negato. Non si dispone di permessi appropriati per eseguire questa operazione.
potete aiutarmi?
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.