У меня есть Go API веб-службы / тестирования, работающий как веб-сайт IIS. Я настроил его, следуя этим инструкциям на этом веб-сайте, и он отлично работает.
https://medium.com/@mossila / running- go -behind-iis-ce1a610116df .
Только мне пришлось изменить то, что я использовал AspNetCoreModuleV2 вместо AspNetCoreModule.
Мой API - это всего лишь одна второстепенная функция, которая получает данные Post и назначает их структуре.
func (app *App) ReadPostData(w http.ResponseWriter, r *http.Request) {
var payloadData postPayload
err := json.NewDecoder(r.Body).Decode(&payloadData)
if err != nil {
log.Println(err)
}
fmt.Printf(payloadData.ID)
}
Теперь, потому что он работает в IIS я могу включить Windows режим аутентификации (NTLM) и заставить веб-службу требовать аутентификацию NLTM для доступа.
Возникает вопрос, есть ли ХОРОШИЙ способ передать имя пользователя NTLM auth в тест API я написал на Go? В PHP на IIS я мог просто сделать $ _SERVER ["AUTH_USER"]; и он автоматически установит это аутентифицированное имя пользователя в качестве переменной, есть ли эквивалент этого в Go?