Немедленный вход после успешной регистрации на сайте Plone
У меня есть пользовательская регистрация BrowserView, где вы должны расширить некоторые пользовательские данные (z3c.form с некоторыми полями, включая пароль). После успешного сохранения этих данных я хочу, чтобы пользователь автоматически вошел в систему и перенаправился на другую страницу сайта.
Заранее спасибо за подсказки
2 ответа
Итак, вот мое рабочее решение (спасибо Микко, который указал в правильном направлении):
аутентифицировать ваши регистрационные данные в PAS
member = portal.acl_users.authenticate(username, password, portal.REQUEST)
для переадресации необходимо установить куки аутентификации. Вы можете сделать это с помощью updateCredentials (см. Pas/plugins/cookie_handler)
if member: portal.acl_users.updateCredentials(portal.REQUEST, portal.REQUEST.RESPONSE, username, password)
перенаправить на следующую страницу
portal.REQUEST.RESPONSE.redirect(url)
Если вы хотите расширить пользовательские данные для новых членов и добавить новые поля в форму регистрации, вероятно, лучше всего расширить утилиту, которая предоставляет схему пользовательских данных по умолчанию, и делать это таким образом, чтобы вы легко подключались к существующему механизму регистрации.,
Есть пример продукта colle.examples.userdata, который вы можете использовать 0 и расширить для этой цели. Он также имеет хорошую документацию, которая объясняет вам все необходимые шаги.