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?