2010-11-19 12 views
5

This answer giải thích rằng khi gọi một dịch vụ web asmx không cần để xác định xác thực kiểu sử dụng:Tương đương với việc truyền DefaultCredentials trong WCF là gì?


WebServiceProxy proxy = new WebServiceProxy(); // Derived from SoapHttpClientProtocol 

proxy.Credentials = CredentialCache.DefaultCredentials; 

Phương pháp này làm việc cho cả hai NTLM và xác thực Kerberos. Nó sẽ chuyển thông tin đăng nhập của tài khoản windows mà mã đang chạy.


Tương đương trong WCF, hoạt động trong môi trường NTLM và Kerberos là gì?

Trả lời

4

Trong WCF, bạn cần phải xác định xác thực trong các ràng buộc của các dịch vụ WCF của bạn. Đảm bảo máy khách và máy chủ sử dụng cùng một lược đồ xác thực.

web.config:

<binding name="WindowsClientOverTcp"> 
    <security mode="Transport"> 
     <transport clientCredentialType="Windows" /> 
    </security> 
</binding> 
+0

Vì vậy, không có cách nào để tránh quy định cụ thể thẩm định? Đó là, bạn cần phải biết nếu môi trường là Kerberos hoặc NTLM? –

+0

Với Kerberos, máy khách và máy chủ của bạn cần đáp ứng một số điều kiện cụ thể trước khi sử dụng, nếu không xác thực cửa sổ sẽ mặc định sử dụng NTLM – ericphan