1

有人可以解释一下在 Confluence 中 CreateUser(String) 和 CreateUser(User,Credential) 有什么区别。如果用户不在组中,我想为汇合创建一个用户。confluence 文档中没有任何信息。:(

我写了这样的代码,但不确定它是否会在同一行中接受两次 createUser 方法。

userAccessor.createUser(userAccessor.createUser(username), Credential.encrypted(password));

我猜,如果内部 createUser 被执行,那么它会在父级 createUser 外部抛出异常,因为它试图再次创建相同的用户?

请给我你的想法

谢谢塞缪尔。

4

1 回答 1

0

createUser(User, Credential)方法替换了旧createUser(String)方法,因此您应该使用前者并构造一个包含所有详细信息的用户:

User user = userAccessor.createUser(new DefaultUser("mryall", "Matt Ryall", "matt@mattryall.net"),
    Credential.unencrypted("secret"));

使用此 API 的原因是为了减少创建用户所需的调用次数,并解决您使用用户名创建用户但其他字段为空(姓名、电子邮件、密码)的潜在竞争条件。

整个 API 的文档记录很差。我在 Atlassian 的 Confluence 团队工作 - 真是过失!我们会努力解决这个问题。

于 2013-05-24T01:52:13.743 回答