В настоящее время я создаю веб-приложение с Perl Dancer. Это приложение требует от пользователей аутентификации с использованием Active Directory моей компании. Чтобы не запрашивать у пользователей их имена пользователей и пароли, я хотел бы использовать встроенную проверку подлинности Windows. Однако мне трудно найти какую-либо документацию, объясняющую, как использовать этот тип аутентификации с Perl, не говоря уже о платформе Dancer. На данный момент я не уверен, буду ли я развертывать это приложение на Apache или IIS, поэтому предпочтительнее что-то, что может работать с обоими. Есть ли у кого-нибудь предложения, которые помогут мне начать работу?
Использование встроенной аутентификации Windows в приложении Perl Dancer
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
Редактировать: Это работает!
Убедитесь, что ваша конфигурация Apache загружает файл ntlm.conf
Не используйте полное доменное имя для своего основного контроллера домена; просто имя хоста.
'PerlSetVar ntlmdebug 1' полезен. Только не забудьте потом его выключить.
person
Woody2143
schedule
09.02.2012