2012-05-24 23 views
5

का उपयोग करते समय खाली है मैं वर्तमान में ट्रांसपोर्टविथमेसेज क्रेडेंशियल्स और https को अपने डब्ल्यूसीएफ प्रोजेक्ट पर उपयोग करने का प्रयास कर रहा हूं। मैंने क्लाइंट और सर्वर सुरक्षा मोड = "TransportWithMessageCredential" और क्लाइंट क्रेडिट्रेड टाइप = "विंडोज" दोनों सेट किए हैं।CredentialCache.DefaultNetworkCredentials TransportWithMessageCredential

जब मैं CredentialCache.DefaultNetworkCredentials से प्रमाण-पत्र प्राप्त करने के लिए जाता हूं, तो उपयोगकर्ता नाम, पासवर्ड और डोमेन सभी खाली होते हैं।

कोई कारण यह खाली क्यों होगा? अगर वे हमेशा खाली रहेंगे, तो मुझे पास करने के लिए प्रमाण पत्र कहां मिलेगा?

मैं लॉगिन के लिए उन्हें संकेत दिए बिना सेवा में लॉग इन उपयोगकर्ता प्रमाण-पत्र कैसे पास करूं?

ग्राहक बाध्यकारी

<basicHttpBinding> 
    <binding name="ClientHttpEndpoint" closeTimeout="00:01:00" 
    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:02:00" 
    allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
    maxBufferSize="4194304" maxBufferPoolSize="524288" maxReceivedMessageSize="4194304" 
    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
    useDefaultWebProxy="true"> 
     <security mode="TransportWithMessageCredential"> 
      <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" /> 
      <message clientCredentialType="UserName" algorithmSuite="Default" /> 
     </security> 
    </binding> 
</basicHttpBinding> 

बाध्यकारी

<basicHttpBinding> 
    <binding name="WindowsTransportCredentialBinding" maxBufferSize="524288"maxReceivedMessageSize="524288"> 
     <readerQuotas maxDepth="128" maxStringContentLength="1048576" /> 
     <security mode="TransportWithMessageCredential"> 
      <transport clientCredentialType="Windows" /> 
     </security> 
    </binding> 
</basicHttpBinding> 

... 

<service name="Test.DiagnosticService"> 
    <endpoint binding="basicHttpBinding" bindingConfiguration="WindowsTransportCredentialBinding" name="ClientDiagnosticEndpoint" contract="Test.IDiagnostic" /> 
</service> 

कोड यूज़रनेम और पासवर्ड

ChannelFactory<IDiagnostic> test = new ChannelFactory<IDiagnostic>(DIAGNOSTIC_ENDPOINT_NAME); 
test.Credentials.UserName.UserName = "TestUser"; 
test.Credentials.UserName.Password = "User"; 
return test.CreateChannel(); 
+0

आप कैसे सेवा करने के लिए Windows में लॉग इन वर्तमान उपयोगकर्ता पारित करने के लिए पूछ रहे हैं? – Jeremy

+0

हां। मैं वर्तमान में लॉग इन उपयोगकर्ता प्रमाण-पत्र (विंडोज़) को सेवा में पास करना चाहता हूं। (मैंने मूल पोस्ट संपादित किया) – user851974

+0

आईआईएस में होस्ट की गई सेवा है? या स्वयं होस्ट किया गया – EdmundYeung99

उत्तर

0

ICredentials उदाहरण DefaultCredentials द्वारा वापस स्थापित करने के लिए सर्वर उपयोगकर्ता नाम देखने के लिए नहीं किया जा सकता , वर्तमान सुरक्षा संदर्भ के पासवर्ड, या डोमेन।

http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultcredentials%28v=vs.90%29.aspx

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^