我有一个自定义注册BrowserView,你必须扩展一些userdata(z3c.form包含一些字段,包括密码)。成功保存这些数据后,我希望用户自动登录并重定向到站点中的其他页面。
提前感谢提示
答案 0 :(得分:5)
所以这是我的工作解决方案(感谢指向正确方向的mikko):
在PAS中验证您的注册凭据
member = portal.acl_users.authenticate(username, password, portal.REQUEST)
对于重定向,必须设置身份验证cookie。您可以使用“updateCredentials”执行此操作(请参阅pas / plugins / cookie_handler)
if member:
portal.acl_users.updateCredentials(portal.REQUEST, portal.REQUEST.RESPONSE, username, password)
重定向到下一页
portal.REQUEST.RESPONSE.redirect(url)
答案 1 :(得分:0)
如果要扩展新成员的userdata,并在注册表单中添加新字段,最好扩展提供默认用户数据模式的实用程序,并以无缝挂接到现有的注册机制。
有一个示例产品 collective.examples.userdata ,您可以使用它并为此目的进行扩展。它还有很好的文档,可以向您解释所有必要的步骤。