通过OpenCMIS或java API在alfresco中创建用户

Fat*_*teh 2 java alfresco createuser opencmis

我使用alfresco-community-4.0.e,OpenCMIS和primefaces作为用户界面构建Web应用程序.

我需要以编程方式在alfresco中创建用户.我尝试使用以下代码创建用户:

Blockquote 
if (!personService.personExists("tuser1")) {
        personService.createPerson(createDefaultProperties("tuser1", "Test", "User1", "tuser1@localhost", "password"));
        if (logger.isDebugEnabled()) logger.debug("Created tuser1 person");
    }

    if (!personService.personExists("tuser1")) {
        personService.createPerson(createDefaultProperties("tuser1", "Test", "User1", "tuser1@localhost", "password"));
        if (logger.isDebugEnabled()) logger.debug("Created tuser1 person");
    } 

Blockquote
Run Code Online (Sandbox Code Playgroud)

但我面临着身份验证的问题.

我为露天认证创建了一个类,它抛出openCMIS,它可以很好地创建我的自定义内容和一些其他自定义操作.

知道它为什么现在正在创建用户或任何其他代码以编程方式构建用户?

Gag*_*arr 5

您的代码几乎就在那里,但缺少一条关键线.除了创建人员外,您还需要为他们创建关联的身份验证

你可能想要这样的东西

if (this.authenticationService.authenticationExists(userName) == false)
{
   this.authenticationService.createAuthentication(userName, password.toCharArray());

   PropertyMap ppOne = new PropertyMap(4);
   ppOne.put(ContentModel.PROP_USERNAME, userName);
   ppOne.put(ContentModel.PROP_FIRSTNAME, "firstName");
   ppOne.put(ContentModel.PROP_LASTNAME, "lastName");
   ppOne.put(ContentModel.PROP_EMAIL, userName+"@example.com");
   ppOne.put(ContentModel.PROP_JOBTITLE, "jobTitle");

   this.personService.createPerson(ppOne);
}        
Run Code Online (Sandbox Code Playgroud)