Получите аутентифицированное имя пользователя NTLM из IIS - PullRequest
0 голосов
/ 05 августа 2020

У меня есть 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?

...