Я использую Apache как обратный прокси-сервер для таких вещей, как аутентификация перед http-сервером go.Apache, mod_auth_kerb, mod_proxy: Получить аутентифицированного пользователя в Go Web Application
Следующие установки apache kerberos работают с одной проблемой. Я не знаю, как получить аутентифицированное имя пользователя в моем приложении.
httpd.conf:
<VirtualHost host.domain.com:80>
ProxyPreserveHost On
ProxyPass/http://127.0.0.1:9000/
ProxyPassReverse/http://127.0.0.1:9000/
<Location />
## gzip
##
AddOutputFilterByType DEFLATE text/html
Order deny,allow
Allow from all
AuthType Kerberos
AuthName "User Admin"
KrbAuthRealms DOMAIN.COM
Krb5Keytab /etc/host.krb5keytab
KrbMethodNegotiate on
KrbAuthoritative on
KrbMethodK5Passwd off
KrbLocalUserMapping on
KrbSaveCredentials on
require valid-user
</Location>
</VirtualHost>
С
AuthType basic
Я получаю имя пользователя из заголовка Authorization в запрос с помощью функции идут
func (*Request) BasicAuth
но с заголовком Authorization переговоры это невозможно. Кроме того, я не могу использовать переменную среды REMOTE_USER, поскольку среда cgi отсутствует. Я также попытался установить RequestHeader, но без каких-либо успехов.
Есть ли возможность получить авторизованное имя пользователя из приложения go?
Спасибо за ответ! К сожалению, единственные записи заголовков, которые я могу видеть в моем приложении Go, следующие: Значение даты: [Пн, 11 мая 2015 г. 09:42:55 GMT] Значение Www-Authenticate: [Negotiate] Значение Vary: [Accept-Encoding ] Значение Content-Type: [text/html; charset = iso-8859-1] Является ли положение строки SetEnvIf в разделе сечением imortant? Я пробовал разные позиции, но безуспешно. –