在plone站点成功注册后立即登录

问题描述:

我有一个自定义注册BrowserView,您必须扩展某些用户数据(包含密码的某些字段的z3c.form)。成功保存这些数据后,我希望用户能够自动登录并重定向到站点中的其他页面。在plone站点成功注册后立即登录

预先感谢提示

+1

这里有技巧如何在Python代码进行登录做到这一点://collective-docs.readthedocs.org/en/latest/sessions/login.html – 2012-01-13 14:31:28

因此,这里是我的工作液(感谢米克谁在正确的方向):

  1. 验证您的注册证书在PAS

    member = portal.acl_users.authenticate(username, password, portal.REQUEST) 
    
  2. 对重定向它的需要设置认证cookie。 HTTP:你可以用 “updateCredentials”(见PAS /插件/ cookie_handler)

    if member: 
        portal.acl_users.updateCredentials(portal.REQUEST, portal.REQUEST.RESPONSE, username, password) 
    
  3. 重定向到下一个页面

    portal.REQUEST.RESPONSE.redirect(url) 
    

如果你想延长用户数据的新成员,并添加新的字段登记表,它可能是最好的扩展,提供了默认的用户数据模式的实用性和做通过这种方式,您可以无缝连接现有的注册机器。

有一个示例产品collective.examples.userdata您可以使用0并为此扩展。它也有很好的文档向你解释所有必要的步骤。

http://plone.org/products/collective.examples.userdata

+0

这不是petchki所要求的;他问的是,在成功注册后,用户如何立即登录。 – 2012-01-13 22:07:57

+2

对不起,但我不同意反对票。计算器的倒计时规则是:“当你遇到一个非常草率的,没有努力的帖子,或者一个明显而且可能危险不正确的答案时,使用你的低估。” “对这个问题的误解”在我看来似乎不是sl nor不驯,也不是(在这种情况下)是危险的。评论就足够了。 – 2012-01-17 19:00:29