2012-01-13 21 views
4

私はいくつかのユーザーデータ(パスワードを含むいくつかのフィールドでz3c.form)を拡張する必要があるカスタム登録BrowserViewを持っています。これらのデータを正常に保存した後、ユーザーは自動的にログインし、サイト内の他のページにリダイレクトされます。ヒントploneサイトへの登録が成功した後すぐにログインします

+1

をリダイレクトするPythonコードでログインを実行する方法のヒントがあります:http ://collective-docs.readthedocs.org/en/latest/sessions/login.html –

答えて

5

だからここに私の作業溶液です(右方向に向けミッコのおかげで):

  1. がため

    member = portal.acl_users.authenticate(username, password, portal.REQUEST) 
    
  2. PASにご登録の資格情報を認証します、それをリダイレクトします認証クッキーを設定するために必要です。あなた "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

これは、petschkiが求めていることではありません。彼は成功した登録の後、ユーザーがすぐにログインできる方法を尋ねています。 –

+2

申し訳ありませんが、私は投票に同意しません。 stackoverflowのdown-votingのルールによれば、「あまりにも控えめで無駄に費やされた投稿に出くわしたとき、または明らかに、おそらくは間違っている答えが出てきたら、あなたの下書きを使う」と言います。 「質問を誤解している」というのは、私にとっては賢明でも(この場合は)危険でもないようです。コメントで十分です。 –

関連する問題