我在新的Plone 4.1安装上使用pas.plugins.sqlalchemy。 我将Plone设置为将电子邮件地址作为登录名。
一切都好,但如果我想通过个人信息面板更改电子邮件地址,我会收到错误消息: 你不是Plone会员。您可能已在root用户文件夹中注册。如果这是意外的,请通知管理员。
如果我要更改另一个个人数据字段,我不会收到错误。
问题似乎是Products.CMFPlone(utils.py)的set_own_login_name函数。 详情请http://pastie.org/3780218
感谢的 维托
答案 0 :(得分:0)
您是否以Zope root中定义的管理员用户身份登录?
如果是这种情况,那么看看你是否可以通过转到Zope根目录中的acl_users并在那里更改它来更改登录名。
否则,暂时关闭emaillogin,更改电子邮件,然后重新启用emaillogin。
请注意,在引发此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.