Plone & CGI единый вход с использованием mod_auth_tkt - PullRequest
4 голосов
/ 07 марта 2011

На пару вопросов были получены ответы, в которых предлагалось использовать mod_auth_tkt, чтобы разрешить Plone 4 ( Plone и Asp.Net Integration , Использовать механизм аутентификации Plone для входа на другие сайты. ) для аутентификации других веб-приложений, и так как у меня есть пара CGI, которые уже перескочили через обручи для аутентификации через Plone, это кажется идеальным для моей цели. Тем не менее, я не могу найти много документации об использовании mod_auth_tkt в целом и абсолютно ничего об использовании его с Plone.

У меня следующие проблемы.

  1. mod_auth_tkt ожидает общий «секрет». Примеры mod_auth_tkt показывают, что Apache получает это из файла конфигурации. Plone не делится своими секретами - так как же Apache узнает, что данный файл cookie Plone является действительным auth_tkt?
  2. Какой URL-адрес будет использоваться в конфигурации Apache TKTAuthLoginURL? [Я не уверен, что это жизненно важно, поскольку на данный момент меня действительно интересует, чтобы что-то вызывалось из внутри plone, а не напрямую как cgi]
  3. Apache ожидает, что файл cookie билета будет назван через TKTAuthCookieName (по умолчанию «auth_tkt»). Как это называет Plone? __ac

Ответы [ 2 ]

4 голосов
/ 07 марта 2011

Документация по использованию mod_auth_tkt - это справочная страница, распространяемая вместе с источником.

В ответ на ваши конкретные вопросы:

  1. In / Plone / acl_users / session.На вкладке «Управление секретами» задайте общий секрет.(Это описано в документации по настройке общего секрета с помощью формы входа в IIS.) Вы должны установить тот же секрет в конфигурации Apache с помощью директивы TKTAuthSecret.

  2. Для Plone 4.0(или Plone 3.x с plone.session 3.x) используйте / Plone / login_form.Для Plone 4.1 используйте / Plone / login, предполагая, что сайт Plone размещен в / Plone.Используйте / login_form или / login, если он размещен в корне.

  3. Plone по умолчанию использует _ ac, поэтому используйте TKTAuthCookieName " _ac".(Имя cookie, которое использует Plone, задается в настройках сеанса acl_users и настройках аутентификации cookie.)

Возможно, вам придется установить TKTAuthBackArgName "came_from", хотя я думаю, что Plone откажется от реферераURL, поэтому он может работать без.И вам нужно будет проверить параметр «Использовать mod_auth_tkt-совместимый алгоритм хеширования» на вкладке настроек acl_users / session.

1 голос
/ 08 марта 2011

Оказывается, похоже, что существует конфликт с pas.plugins.sqlalchemy.Я исследовал PPS, и, хотя кажется, что не должно быть кроссовера, на сайте, который я тестировал, был установлен PPS.Когда я переключился на сайт без PPS, установка «секретного» и флага mod_auth_tkt дала желаемый эффект.Так как я, кажется, попал в роль поддержки pas.plugins.sqlalchemy, я думаю, это моя проблема: -)

Domo arigato, мистер Роу-бото!

...