1

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

我需要以编程方式在露天创建用户。我尝试使用以下代码创建用户:

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

但我面临身份验证问题。

我为 alfresco 身份验证创建了一个类,它抛出了 openCMIS,它可以很好地创建我的自定义内容和其他一些自定义操作。

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

4

1 回答 1

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);
}        
于 2012-09-20T13:12:04.093 回答