„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie führe ich die NTLM-Authentifizierung in Go-HTTP-Anfragen mit Systemanmeldeinformationen durch?

Wie führe ich die NTLM-Authentifizierung in Go-HTTP-Anfragen mit Systemanmeldeinformationen durch?

Veröffentlicht am 16.11.2024
Durchsuche:694

How to Perform NTLM Authentication in Go HTTP Requests with System Credentials?

NTLM-Authentifizierung in Go-HTTP-Anfragen mit Systemanmeldeinformationen

In dieser Frage sucht der Benutzer nach Anleitung zur Durchführung der Windows-NTML-Authentifizierung in einem Go-HTTP Anfrage unter Verwendung der Systemanmeldeinformationen des aufrufenden Benutzers. Sie stellen Beispiele aus C# und Python bereit, die zeigen, wie dies in diesen Sprachen erreicht werden kann.

Die Lösung liegt in der Verwendung der Go-Ole-Bibliothek, die die Verwendung von WinHTTPRequest in Go ermöglicht. Durch die Verfolgung eines ähnlichen Ansatzes wie im Python-Beispiel ist es möglich, die NTML-Authentifizierung mit Systemanmeldeinformationen in Go zu implementieren.

Hier ist der bereitgestellte Codeausschnitt in Go, der dies erreicht:

package main

import (
    "fmt"

    ole "github.com/go-ole/go-ole"
    "github.com/go-ole/go-ole/oleutil"
)

func main() {
    ole.CoInitialize(0)
    defer ole.CoUninitialize()
    unknown, _ := oleutil.CreateObject("WinHTTP.WinHTTPRequest.5.1")
    request, _ := unknown.QueryInterface(ole.IID_IDispatch)
    oleutil.CallMethod(request, "SetAutoLogonPolicy", 0)
    oleutil.CallMethod(request, "Open", "GET", "http://example.com", false)
    oleutil.CallMethod(request, "Send")
    resp := oleutil.MustGetProperty(request, "ResponseText")
    fmt.Println(resp.ToString())
}

Dieser Code initialisiert das WinHTTPRequest-Objekt, legt die Richtlinie für die automatische Anmeldung so fest, dass die Anmeldeinformationen des aktuellen Benutzers verwendet werden, öffnet eine GET-Anfrage an die angegebene URL, sendet die Anfrage und ruft den Antworttext ab.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3