bất cứ ai có thể đưa ra một lời giải thích rõ ràng về sự khác biệt giữa việc sử dụngSự khác nhau giữa ClientCredentialType = Windows và = NTLM
clientCredentialType=Windows
, vàclientCredentialType=Ntlm
trong Web.config server-side khi tổ chức một dịch vụ WCF?
Tôi có một dịch vụ SOAP 1.1 (basicHttpBinding
) cho interop với khách hàng hiện tại. Nó sử dụng các vai trò ASP.NET để nhu cầu khách hàng được xác thực.
Khi tôi đang sử dụng máy chủ VS2005 (Cassini) để lưu trữ dịch vụ, tôi phải chỉ định ClientCredentialType=Ntlm
như trên và kiểm tra hộp xác thực Ntlm trong thuộc tính dự án trong VS2005. ClientCredentialType=Windows
không hoạt động - khách hàng có được một:
401 lỗi Unauthorized
Tuy nhiên khi tôi đang chạy dưới IIS, đó là cách khác xung quanh: ClientCredentialType=Windows
công trình, và ClientCredentialType=Ntlm
thất bại.
Bất cứ ai có thể giải thích điều này và tốt nhất là đề xuất cách tôi có thể có cùng tệp web.config để chạy dịch vụ trong Cassini và IIS?
Cập nhật
Tôi có NET 3.5 SP1 trên máy dev của tôi, đó là XP SP2 chạy trong một miền. Vì vậy, Cassini chạy dưới một tài khoản miền và IIS 5.1 dưới một tài khoản cục bộ.
Tôi tự hỏi nếu nó có thể liên quan đến thay đổi đột ngột trong .NET 3.5SP1 được mô tả trong các bài viết này.
http://www.aspnetpro.com/newsletterarticle/2008/12/asp200812ab_l/asp200812ab_l.asp http://msmvps.com/blogs/alvin/archive/2008/11/14/net-3-5-sp1-breaking-change-to-wcf.aspx http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=354236
Tình hình có vẻ tương tự như clientCredentialType=Windows
không thành công khi máy chủ đang chạy dưới một tài khoản miền (đó là tình hình của tôi với Cassini - chạy như tài khoản người dùng miền bình thường của tôi), và các công trình khi chạy dưới một tài khoản cục bộ (đó là tình huống của tôi với IIS).
Vấn đề là các bản sửa lỗi được đề xuất yêu cầu thay đổi đối với tệp cấu hình máy khách WCF - nhưng trong trường hợp của tôi, tôi đang sử dụng SOAP 1.1 (basicHttpBinding
) với các máy khách không phải WCF.
Cảm ơn. Tôi đã đọc và có một ý tưởng bề ngoài về sự khác biệt giữa NTLM và Windows. Nhưng không phải lý do tại sao Windows không hoạt động với Cassini. – Joe