Как получить имя текущего пользователя, вошедшего в приложение Flask, работающее на сервере Apache? - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть приложение фляги (с использованием Python версии 3.7), работающее на сервере Apache (версия 2.4), с использованием mod_wsgi (версия 4.6.4) и SQLAlchemy (1.2.11).

Я работаю над созданием логики, в которой я хочу получить имя менеджера текущего пользователя, вошедшего в Windows:

(Использование модуля get pass с методом getuser).

Мой запрос:

get_manager_name = session.query(Table.employee_first_name + " " + Table.employee_last_name).filter(Table.employee_net_username == getpass.getuser()).all()

Приведенный выше запрос работает, если я обошел Apache (используя сервер разработки, поставляемый с Flask).

С другой стороны, если я использую Apache, запрос возвращает пустой список [].

Я отладил свой код с помощью модуля регистрации в Python (logging.debug(getpass.getuser())) и обнаружил, что getpass.getuser() возвращает имя учетной записи службы, под которой работает Apache, а не имя пользователя текущего пользователя, вошедшего в систему.

Итак, мой вопрос: что мне нужно сделать, чтобы получить имя пользователя, вошедшего в систему, через Apache в Windows?

Я нашел похожий вопрос по аналогичной проблеме, но он был связан с IIS:

Как получить имя пользователя текущего пользователя в приложении Flask на сервере IIS с использованием аутентификации Windows?

1 Ответ

0 голосов
/ 25 сентября 2018

Необходимо было настроить промежуточное ПО, чтобы имя пользователя, вошедшего в систему, можно было отправлять в приложение Flask из Apache.

удалось решить следующим образом:

http://flask.pocoo.org/snippets/69/

...