gpt4 book ai didi

c# - 在 Petrel 插件中使用 DefaultCredentials

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:05 25 4
gpt4 key购买 nike

我正在开发一个 Petrel 插件,该插件向需要 Windows 身份验证的 IIS 服务器发出 Web 请求。为了发送当前登录用户的 Windows 凭据,我设置了 request.UseDefaultCredentials = true。以下是发出请求的代码。

public static void MakeWebRequest()
{
var request = (HttpWebRequest)WebRequest.Create("some web address");
request.ContentType = "application/json; charset=utf-8";
request.Method = "POST";
request.UseDefaultCredentials = true;
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write("some request data");
}

var response = request.GetResponse();

using (var streamReader = new StreamReader(response.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
}
}

从简单的控制台应用程序运行此代码时,已登录用户的 Windows 凭据已成功添加到 Web 请求并返回响应。

但是,当在 Petrel 插件中运行相同的代码时,不会添加凭据。这会导致 IIS 拒绝请求并返回 401 Unauthorized 错误。

为什么这段代码在插件中不起作用?有没有办法将当前用户的 Windows 凭据附加到 Web 请求?我不想提示插件内的用户输入凭据。

最佳答案

我不知道为什么,但显然 Petrel 会过滤掉您的凭据。但是,我认为您可以获得凭据。谷歌 HttpWebRequest CreateCredentials。

关于c# - 在 Petrel 插件中使用 DefaultCredentials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40620366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com