Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 当使用HttpWebRequest.Credentials时_.net_Cookies_Httpwebrequest_Cookiecontainer - Fatal编程技术网

.net 当使用HttpWebRequest.Credentials时

.net 当使用HttpWebRequest.Credentials时,.net,cookies,httpwebrequest,cookiecontainer,.net,Cookies,Httpwebrequest,Cookiecontainer,我尝试使用HttpWebRequest实例对需要身份验证的web url执行POST(ASP.NET MV3标准[Authorize]带内置成员资格系统的修饰操作方法),但是在HttpWebRequest中提供登录和passowrd作为NetworkCredentials并没有起到作用 我最终使用了一个全局CookieContainer和两个HttpWebRequests: 将请求的CookieContainer设置为globalCookieContainer 将用户名和密码发布到登录URL。(

我尝试使用
HttpWebRequest
实例对需要身份验证的web url执行
POST
(ASP.NET MV3标准
[Authorize]
带内置成员资格系统的修饰操作方法),但是在
HttpWebRequest
中提供登录和passowrd作为
NetworkCredentials
并没有起到作用

我最终使用了一个全局
CookieContainer
和两个
HttpWebRequests

  • 将请求的
    CookieContainer
    设置为
    globalCookieContainer
  • 将用户名和密码发布到登录URL。(在该步骤之后,容器仍然报告Cookie计数为0)
  • 创建另一个
    HttpWebRequest
    实例,并将
    globalcokiecontainer
    设置为请求的
    CoockieContainer
  • 发布到需要身份验证的最终url。出于某种原因,这一次第二个请求对象将cookies作为请求的一部分提供,并通过
  • cookie管理的整个“魔力”在任何地方都没有得到很好的描述(我真的试着四处搜索)


    我们已经涵盖了这个场景。但是在什么情况下应该使用
    HttpWebRequest.Credentials

    HttpWebRequest.Credentials
    是指通过枚举中的一个方案执行身份验证时使用的。其中包括基本和摘要HTTP身份验证、NTLM和Kerberos


    这就是说,您可以通过从客户端的
    NetworkCredential
    派生并在服务器端实现来编写自己的自定义身份验证方案。

    HttpWebRequest。当通过枚举中的一个方案执行身份验证时,将使用凭据。其中包括基本和摘要HTTP身份验证、NTLM和Kerberos


    这就是说,您可以通过从客户端的
    NetworkCredential
    派生并在服务器端实现来定制您自己的身份验证方案。

    Jon,非常感谢。所以authentication mode=“forms”不会将ASP.NET网站设置为基本身份验证?这两个“基本”和“形式”不是一回事?乔恩,非常感谢。所以authentication mode=“forms”不会将ASP.NET网站设置为基本身份验证?这两个“基本”和“形式”不是一回事吗?