Возможно ли для приложения django знать имя пользователя в домене windows? - PullRequest
0 голосов
/ 25 марта 2009

Мне нужно создать простое приложение типа базы знаний для использования во внутренней сети компании. Чтобы сделать его простым и быстрым в использовании для конечных пользователей, я бы хотел частично пропустить все входы в систему (так как они будут видны только пользователям внутренней сети, которым мы доверяем), а также автоматически извлечь имя пользователя из домена и ввести это в базу данных (не нужно, чтобы люди тратили время, вводя свое имя вручную; чем меньше времени они тратят, используя приложение, тем больше шансов, что они действительно будут его использовать).

Итак, возможно ли получить такую ​​информацию на сервере? Windows-браузеры отправляют его в некоторых заголовках, которым я мог бы доверять?

1 Ответ

2 голосов
/ 25 марта 2009

Если вы используете IIS и Internet Explorer, вы можете включить «Интегрированную аутентификацию Windows» (аутентификация NTLM). Это приводит к тому, что IE автоматически аутентифицирует пользователя, используя инфраструктуру вашего домена. После автоматического входа в систему вы можете получить доступ к имени пользователя, используя переменную окружения LOGON_USER. Для этого есть также модуль для Apache (mod_ntlm), хотя я не знаю его статуса.

Возможно, вы могли бы попытаться реализовать NTLM-аутентификацию самостоятельно, но это, безусловно, будет большой работой.

Кроме этого, похоже, нет пути, поскольку ни один разумный браузер не отправит имя пользователя ...


РЕДАКТИРОВАТЬ: Кажется, что расширения python-win32 или python-ntlm могли бы добиться цели, проверьте этот поток . Вы все еще должны интегрировать его в Django.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...