Maison > développement back-end > Golang > le corps du texte

Comment effectuer l'authentification NTLM avec les informations d'identification du système Windows dans les requêtes HTTP Go ?

Susan Sarandon
Libérer: 2024-10-25 00:37:02
original
333 Les gens l'ont consulté

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

Authentification NTLM dans les requêtes HTTP Go avec les informations d'identification du système Windows

Dans le monde du développement Web, l'authentification est cruciale pour sécuriser l'accès aux ressources protégées . Un mécanisme d'authentification courant est NTLM, qui implique l'utilisation des informations d'identification Windows de l'utilisateur pour vérifier son identité. Cet article explique comment implémenter l'authentification NTLM dans les requêtes HTTP Go, en utilisant les informations d'identification système de l'utilisateur Windows.

Traditionnellement, l'authentification NTLM nécessite la spécification manuelle d'un nom d'utilisateur et d'un mot de passe, mais notre objectif est d'éviter ce processus fastidieux. En tirant parti des capacités de l'objet COM WinHTTPRequest, nous pouvons exploiter les informations d'identification par défaut du système pour une expérience d'authentification transparente.

Pour y parvenir dans Go, nous utilisons la bibliothèque go-ole, qui fournit une interface pour interagir avec des objets COM. Voici un extrait de code qui illustre l'approche :

<code class="go">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())
}</code>
Copier après la connexion

Dans ce code, nous créons une instance WinHTTPRequest, définissons la politique de connexion automatique pour autoriser l'authentification automatique, ouvrons une requête HTTP GET à une URL spécifiée et envoyons la demande. Enfin, nous récupérons le texte de la réponse. Le système récupérera de manière transparente les informations d'identification de l'utilisateur et effectuera l'authentification NTLM, permettant l'accès à la ressource protégée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal