Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 12, 2012 17:42:48

Volk
От: Киев
Зарегистрирован: 2011-11-10
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

pyramid-beaker ключ cookies

Установила для сессий єтот пакет.
Когда я логинюсь, у меня в куках появляется только auth_tkt. При вызове определенной вьюхи появлеется кука с ключом, который указан в конфиках для сессий (session.key).
Не могу понять что не так?

ключ session.key появляется при
request.session.new_csrf_token()…

При логине я делаю:
headers = remember(self.request, user.login)
response = HTTPFound(location=self.request.resource_url(…), headers=headers)
Нужно еще вызвать метод new_csrf_token? в доках этого нету



Отредактировано Volk (Июнь 12, 2012 17:53:07)

Офлайн

#2 Июнь 15, 2012 11:55:38

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

pyramid-beaker ключ cookies

Нет, вызывать new_csrf_token при логине не надо.

В пирамиде (как и в pylons) разделено хранение userid (идентификатор пользователя - он как раз храниться в auth_tkt в зашифрованном виде) и данных сессии (вот для них как раз используется session.key из настроек).

Сделано это из тех соображений, что для большого количества веб-приложений одного userid достаточно (без сессий), плюс такой подход позволяет через auth_tkt использовать сквозную авторизацию в композитных приложениях (то есть приложениях, составленных из других wsgi-приложений, написанных на разных фреймворках - pyramid, pylons etc).



Офлайн

#3 Июль 12, 2012 15:13:03

Volk
От: Киев
Зарегистрирован: 2011-11-10
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

pyramid-beaker ключ cookies

тоесть насколько я понимаю auth_tkt это юзер айди, которое устанавливает сама пирамида, session.key - это айди сессии. auth_tkt хранится в зашифрованному виде? он для одного и того же юзера каждый раз генерится разный… а как разшифровать auth_tkt?
Можна ли узнать по сессии юзейайди и определить две сессии принадлежат одному и тому же юзерайди?



Отредактировано Volk (Июль 13, 2012 12:29:16)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version