2012-01-13 69 views
4

我有一個自定義註冊BrowserView,您必須擴展某些用戶數據(包含密碼的某些字段的z3c.form)。成功保存這些數據後,我希望用戶能夠自動登錄並重定向到站點中的其他頁面。在plone站點成功註冊後立即登錄

預先感謝提示

+1

這裏有技巧如何在Python代碼進行登錄做到這一點://collective-docs.readthedocs.org/en/latest/sessions/login.html – 2012-01-13 14:31:28

回答

5

因此,這裏是我的工作液(感謝米克誰在正確的方向):

  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) 
    
0

如果你想延長用戶數據的新成員,並添加新的字段登記表,它可能是最好的擴展,提供了默認的用戶數據模式的實用性和做通過這種方式,您可以無縫連接現有的註冊機器。

有一個示例產品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