gpt4 book ai didi

asp.net - 重新发送 ASP.Net 身份验证 :

转载 作者:行者123 更新时间:2023-12-02 18:34:48 27 4
gpt4 key购买 nike

我有一个使用authentication mode="Forms"的Asp.net Web项目。我的登录工作正常。

现在的问题是我的网站中有一个仅对授权用户可用的链接。该链接的 pdf 文件可能不存在。

我想要做的是使用 HttpWebRequest 验证 pdf 的可用性。由于 pdf 文件仅适用于授权用户 (web.config/location/system.web/authorization),我必须将 HttpWebRequest 标记为已授权。但我现在没有登录凭据(仅当用户登录并且.net框架无法获取用户的密码时)

有人知道如何使用新的 HttpWebRequest 发送已经建立的授权吗?

谢谢

最佳答案

只是重新阅读您的问题。据我了解,您有一个站点 A,其中包含受表单例份验证保护的 PDF。您有另一个未经身份验证的站点 B,并且您希望根据 A 上的链接是否存在在站点 B 上的服务器端执行某些操作。

为此,您可以创建 HttpWebRequest 并检查状态代码。 401 表示链接存在但需要身份验证。 404表示不存在。

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
using (HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse())
{

if (myHttpWebResponse.StatusCode == HttpStatusCode.Unauthorized)
{
// link exists, requires authentication
}
else if (myHttpWebResponse.StatusCode == HttpStatusCode.NotFound)
{
// link does not exists
}
}

或者,您可以使用具有已知凭据的服务帐户并对请求进行身份验证。使用 HttpWebRequest 进行表单例份验证并不容易,因为表单使用您需要复制的 cookie。

我不得不说以这种方式设计应用程序并不是一个好主意,您应该明确考虑缓存。这些类型的服务器端调用会降低性能,并且无法很好地扩展。

关于asp.net - 重新发送 ASP.Net 身份验证 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6760103/

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