gpt4 book ai didi

c# - 允许控制台应用程序访问 Windows 身份验证的 Web 应用程序

转载 作者:行者123 更新时间:2023-11-30 14:27:57 25 4
gpt4 key购买 nike

我有一个使用 Windows 身份验证的 MVC 网络应用程序。所以我们做一些像 System.Web.HttpContext.Current.User.Identity.Name

这样的事情

现在我正在编写一个控制台应用程序,它将作为批处理作业的一部分运行。这个控制台应用程序需要做的就是在主网络应用程序中调用一个 ActionResult,然后主网络应用程序将执行一些维护任务。

现在,由于控制台应用程序在域 Controller /Active Directory 中没有身份,使用 System.Net.WebClient().DownloadString() 的调用会不断抛出 401 错误。

我的问题是,有没有办法允许此应用程序在主 Web 应用程序中调用此链接,而不必在 web.config/IIS 中禁用 WindowsAuthentication?

欢迎提出任何想法/建议。

控制台应用程序包含的所有内容是

static void Main(string[] args)
{
try
{
new System.Net.WebClient().DownloadString(System.Configuration.ConfigurationSettings.AppSettings["http://foo.com/"]);
}
catch
{

}
}

最佳答案

使用 UseDefaultCredentials:

        var client = new WebClient
{
UseDefaultCredentials = true
};
client.DownloadString(address);

这将使用控制台应用程序的运行方式(可以在计划任务设置中指定)。

关于c# - 允许控制台应用程序访问 Windows 身份验证的 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30736359/

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