Использование встроенной аутентификации Windows в приложении Perl Dancer

В настоящее время я создаю веб-приложение с Perl Dancer. Это приложение требует от пользователей аутентификации с использованием Active Directory моей компании. Чтобы не запрашивать у пользователей их имена пользователей и пароли, я хотел бы использовать встроенную проверку подлинности Windows. Однако мне трудно найти какую-либо документацию, объясняющую, как использовать этот тип аутентификации с Perl, не говоря уже о платформе Dancer. На данный момент я не уверен, буду ли я развертывать это приложение на Apache или IIS, поэтому предпочтительнее что-то, что может работать с обоими. Есть ли у кого-нибудь предложения, которые помогут мне начать работу?


person indiguy    schedule 05.01.2012    source источник
comment
Попробуйте для начала погуглить mod_perl и ntlm. Я не уверен, как это работает, если он обходит веб-сервер.   -  person Richard Huxton    schedule 06.01.2012
comment
Спасибо, Ричард. Есть несколько вещей, специфичных для Apache/mod_perl, но, поскольку я не уверен, как это приложение будет развернуто, я надеялся найти что-то более общее.   -  person indiguy    schedule 06.01.2012
comment
После некоторых дополнительных поисков я задумался над вопросом: могут ли Plack/PSGI справиться с этим за меня? Доступны некоторые модули проверки подлинности Plack, но я не уверен насчет встроенной проверки подлинности Windows. Есть предположения?   -  person indiguy    schedule 09.01.2012
comment
Как насчет Authen::NTLM? У кого-нибудь есть опыт использования этого модуля?   -  person indiguy    schedule 11.01.2012


Ответы (1)


Проверил и обнаружил, что у кого-то еще был этот самый вопрос о PerlMonks, и, похоже, это сработало для них. Я сейчас в процессе тестирования.

Вопрос о PerlMonks: http://www.perlmonks.org/?node_id=821419

В исходном постере говорилось, что они использовали следующее руководство: http://sivel.net/2007/05/sso-apache-ad-1

Все ссылки с использованием модуля perl: https://metacpan.org/module/Apache2%3a%3aAuthenNTLM

Редактировать: Это работает!

  1. Убедитесь, что ваша конфигурация Apache загружает файл ntlm.conf

  2. Не используйте полное доменное имя для своего основного контроллера домена; просто имя хоста.

  3. 'PerlSetVar ntlmdebug 1' полезен. Только не забудьте потом его выключить.

person Woody2143    schedule 09.02.2012