2

Windows 資格情報で自動的にログインする Web アプリケーションがあります。Windows アカウントを使用して、ac# Windows アプリケーションで、この Web アプリケーションからの情報を使用したいと考えています。したがって、この 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];
        }

アプリケーションをデバッグすると、資格情報に何も入力されていないことがわかります。ドメイン、ユーザー名、およびパスワードが空です。

どんな助けでも大歓迎です。

4

1 に答える 1

0

DefaultCredentials によって返される ICredentials インスタンスを使用して、現在のセキュリティ コンテキストのユーザー名、パスワード、またはドメインを表示することはできません。

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

于 2012-05-23T11:57:43.160 に答える