在 C# 客户端应用程序中使用 Kerberos-ticket

本文关键字:Kerberos-ticket 应用程序 客户端 | 更新日期: 2023-09-27 18:35:09

我有一个Web应用程序,我可以使用我的Windows凭据自动登录。我现在想使用我的 Windows 帐户在 c# Windows 应用程序中使用此 Web 应用程序中的信息。因此,我需要能够从这个网站获取会话cookie。在这里你可以看到我的一段代码,我想在其中检索cookie:

       string URLAuth = extractParameterFromProperties("relatieBeheer_login_url");
        WebClient webClient = new WebClient();
        webClient.Credentials = CredentialCache.DefaultCredentials;
       // webClient.UseDefaultCredentials = true;
        byte[] responseBytes = webClient.DownloadData(URLAuth);
        //byte[] responseBytes = webClient.UploadValues(URLAuth, "POST", formData);
        string resultAuthTicket = Encoding.UTF8.GetString(responseBytes);
        if(resultAuthTicket.Contains("Verkeerde combinatie gebruikersnaam")){
            sessionCookie="NoSession";
        }else{
                WebHeaderCollection cookies = webClient.ResponseHeaders;
                sessionCookie = cookies[HttpResponseHeader.SetCookie];
        }

当我调试应用程序时,我可以看到凭据中没有填写任何内容:域、用户名和密码为空。

任何帮助都将非常受欢迎。

在 C# 客户端应用程序中使用 Kerberos-ticket

DefaultCredentials 返回的 ICredentials 实例不能用于查看当前安全上下文的用户名、密码或域。

http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials.aspx