Trac + AccountManagerPlugin: Как мне обеспечить совместное использование файлов cookie? - PullRequest
1 голос
/ 07 июля 2011

У меня активная установка Trac с несколькими проектами. Я использую AccountManagerPlugin для управления учетными записями пользователей и предоставления пользователям возможности управлять своими учетными записями.

Моя текущая конфигурация AccountManagerPlugin выглядит следующим образом:

[account-manager]
account_changes_notify_addresses = 
authentication_url = 
force_passwd_change = true
generated_password_length = 8
hash_method = HtDigestHashMethod
htdigest_realm = TracRealm
notify_actions = []
password_file = /home/sms/trac_sites/trac.htdigest
password_store = HtDigestStore
persistent_sessions = true
user_lock_max_time = 0
verify_email = false

Это прекрасно работает, за исключением: Каждый проект Trac в настоящее время требует отдельной аутентификации. Проекты не могут поделиться своими файлами cookie аутентификации.

Настройка auth_cookie_path = /trac не работает, поскольку данные сеанса хранятся в собственной базе данных каждого проекта; поэтому один проект не может проверить cookie другого. Хуже того, это приводит к тому, что проекты перезаписывают файлы cookie друг друга.

Использование недокументированного двухлетнего патча обезьяны ( SharedCookieAuthPlugin ) кажется плохой идеей.

Есть ли решение?

1 Ответ

2 голосов
/ 07 июля 2011

SharedCookieAuthPlugin - действительно путь. Автором плагина (k0s, псевдоним Джефф Хаммель) был человек, который запросил вариант auth_cookie_path специально для своего плагина. Тот факт, что он не обновлялся два года, означает, что он работает как есть.

...