Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melaksanakan Pengesahan NTLM dengan Bukti Kelayakan Sistem Windows dalam Permintaan HTTP Go?

Bagaimana untuk Melaksanakan Pengesahan NTLM dengan Bukti Kelayakan Sistem Windows dalam Permintaan HTTP Go?

Susan Sarandon
Susan Sarandonasal
2024-10-25 00:37:02252semak imbas

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

Pengesahan NTLM dalam Permintaan HTTP Go dengan Bukti Kelayakan Sistem Windows

Dalam dunia pembangunan web, pengesahan adalah penting untuk mendapatkan akses kepada sumber yang dilindungi . Satu mekanisme pengesahan biasa ialah NTLM, yang melibatkan penggunaan kelayakan Windows pengguna untuk mengesahkan identiti mereka. Artikel ini meneroka cara untuk melaksanakan pengesahan NTLM dalam permintaan Go HTTP, menggunakan bukti kelayakan sistem pengguna Windows.

Secara tradisinya, pengesahan NTLM memerlukan penetapan nama pengguna dan kata laluan secara manual, tetapi matlamat kami adalah untuk mengelakkan proses yang menyusahkan ini. Dengan memanfaatkan keupayaan objek WinHTTPRequest COM, kami boleh memanfaatkan bukti kelayakan lalai sistem untuk pengalaman pengesahan yang lancar.

Untuk mencapai ini dalam Go, kami menggunakan perpustakaan go-ole, yang menyediakan antara muka untuk berinteraksi dengan objek COM. Berikut ialah coretan kod yang menunjukkan pendekatan:

<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>

Dalam kod ini, kami mencipta contoh WinHTTPRequest, menetapkan dasar log masuk automatik untuk membenarkan pengesahan automatik, membuka permintaan HTTP GET ke URL yang ditentukan dan menghantar permintaan itu. Akhirnya, kami mendapatkan semula teks respons. Sistem akan mengambil bukti kelayakan pengguna dengan lancar dan melaksanakan pengesahan NTLM, membenarkan akses kepada sumber yang dilindungi.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengesahan NTLM dengan Bukti Kelayakan Sistem Windows dalam Permintaan HTTP Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn