0

我在全新的 Plone 4.1 安装上使用 pas.plugins.sqlalchemy。我将 Plone 设置为将电子邮件地址作为登录名。

没关系,但是如果我想通过个人信息面板更改电子邮件地址,我会收到错误消息:您不是 Plone 会员。您可能已在根用户文件夹中注册。如果这是意外情况,请通知管理员。

如果我要更改另一个个人数据字段,我不会收到错误。

问题似乎是 Products.CMFPlone (utils.py) 的 set_own_login_name 函数。详情在这里http://pastie.org/3780218

谢谢维托

4

1 回答 1

0

您是否以 Zope 根目录中定义的管理员用户身份登录?

如果是这种情况,那么看看您是否可以通过转到 Zope 根目录中的 acl_users 并在那里进行更改来更改登录名。

否则,请暂时关闭电子邮件登录,更改您的电子邮件,然后重新打开电子邮件登录。

请注意,在引发此 KeyError 之前,utils.py 代码中有一条注释(由我撰写),这指向了一个我不太喜欢的可能解决方案:

# PLIP9214: For a user in the zope root we could do something like this:
# userfolder = member.getUser().__parent__.users
# userfolder.updateUser(member.id, loginname)
# But it is probably best not to touch root zope users.
于 2012-04-13T13:59:52.000 回答