Session_Zope3

0 views
Skip to first unread message

dss.light

unread,
Jun 11, 2010, 4:25:19 AM6/11/10
to Russian Zope3 group
Здравствуйте. Нужна небольшая подсказка по сессиям zope3
если в браузере выключены куки, то зоуп перестаёт трекать сессию.

Я прочёл, что

"Zope's sessioning system makes use of cookies, HTTP form elements,
and/or parts of URLs "in the background" to keep track of user
sessions."

Можно ли в zope3 как нибудь включить поддержку сессий через url?
например как в PHP, когда добавляется параметра "&PHPSESSID=много цифр
и букв",

то есть я так понимаю, если включить этот параметр, то на каждую
ссылку зоуп будет приписывать номер сессии.
И можно ли как нибудь сделать приоритет - например если есть куки, то
передавать номер сессии через куки.
Если куков нет - передавать через url?

Andrey

unread,
Jun 11, 2010, 5:17:21 AM6/11/10
to zope...@googlegroups.com
Насколько я вижу решение проблемы в написании собственного Credential Plugin к PAU, он отвечает за сохранение удостоверений и выдачи их по требованию PAU или вообще кому-то. SessionId вынимать из урл через обработчик события zope.app.publication.interfaces.IBeforeTraverseEvent. Вот со вставкой  SessionId в отрендеренную страницу несколько сложнее.
Переопределяем IBrowserRequestFactory, а именно Request и Response, можно посмотреть как делается в zc.resourcelibrary. Там пройтись по отрендеренной странице и обработать все url .

Ну вот это как минимум.

dss.light

unread,
Jun 11, 2010, 5:20:59 AM6/11/10
to Russian Zope3 group
да уж, проще, наверно, запретить посещение с выключенными куками.

А сам зоуп разве не поддержавает передачу параметра сессии через url?
Насколько я помню - в php нужно просто включить в конфигураторе такую
поддержку и всё, интерпритатор сам будет дописывать везде
"&PHPSESSID=много цифр и букв" и обрабатывать.

dss.light

unread,
Jun 11, 2010, 5:22:32 AM6/11/10
to Russian Zope3 group
очень надеялся что и в зоуп как нибудь так можно.
Reply all
Reply to author
Forward
0 new messages