2012-01-13 3 views
4

У меня есть пользовательская регистрация BrowserView, где вам нужно расширить некоторые пользовательские данные (z3c.form с некоторыми полями, включая пароль). после успешного сохранения этих данных я хочу, чтобы пользователь автоматически регистрировался и перенаправлялся на другую страницу на сайте.Непосредственный вход после успешной регистрации на сайте Plone

Заранее спасибо за подсказки

+1

Ниже приведены советы, как выполнить вход в коде Python: HTTP : //collective-docs.readthedocs.org/en/latest/sessions/login.html –

ответ

5

Так вот мой рабочий раствор (благодаря Микко, который указал в правильном направлении):

  1. аутентификации регистрационные учетные данные в PAS

    member = portal.acl_users.authenticate(username, password, portal.REQUEST) 
    
  2. для перенаправляет его необходимо установить cookie аутентификации. Вы можете сделать это с "updateCredentials" (см па/плагинов/cookie_handler)

    if member: 
        portal.acl_users.updateCredentials(portal.REQUEST, portal.REQUEST.RESPONSE, username, password) 
    
  3. переадресацией на следующей странице

    portal.REQUEST.RESPONSE.redirect(url) 
    
0

Если вы хотите продлить UserData для новых членов, а также добавлять новые поля в регистрационной форме, это, вероятно, лучше, чтобы расширить программу, которая обеспечивает схему по USERDATA умолчанию и сделать это таким образом, чтобы вы легко подключались к существующему механизму регистрации.

Существует пример продукта collect.examples.userdata, который вы можете использовать0 и расширить для этой цели. Он также имеет хорошую документацию, которая объясняет вам все необходимые шаги.

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

+0

Это не то, о чем спрашивают домашние животные; он спрашивает, как после успешной регистрации пользователь может войти в систему немедленно. –

+2

Извините, но я не согласен с голосом. Правило stackoverflow для down-голосования говорит: «Используйте ваши downvotes всякий раз, когда вы сталкиваетесь с вопиющим, неряшливым, не затраченным на усилия сообщением или ответ, который явно и, возможно, опасно неверен». «Непонимание вопроса» не кажется мне ни небрежным, ни (в данном случае) опасным. Комментарий достаточно. –