2012-04-02 37 views
6

Tôi có một khách hàng kết nối với một dịch vụ WCF sử dụng sau đây trên cả hai thiết bị đầu cuối:Lỗi kết nối với dịch vụ WCF với Windows an ninh

<security mode="Message"> 
    <message clientCredentialType="Windows" /> 
</security> 

này hoạt động trong môi trường dev của tôi (cả chạy cục bộ) và đàm phán hoạt động đúng . Khi tôi đẩy nó vào môi trường thử nghiệm tôi nhận được thông báo sau:

SOAP đàm phán an ninh với 'http: // host/dịch vụ' cho mục tiêu 'http: // host/dịch vụ' thất bại . Xem ngoại lệ bên trong để biết thêm chi tiết.

Trường hợp ngoại lệ bên trong:

System.ComponentModel.Win32Exception: Nhà cung cấp Hỗ trợ An ninh Interface (SSPI) xác thực thất bại. Máy chủ có thể không chạy trong tài khoản có nhận dạng 'máy chủ/máy chủ-tên.domain'. Nếu máy chủ đang chạy trong tài khoản dịch vụ (ví dụ: Dịch vụ mạng), chỉ định ServicePrincipalName của tài khoản làm nhận dạng trong EndpointAddress cho máy chủ. Nếu máy chủ đang chạy trong tài khoản người dùng , hãy chỉ định UserPrincipalName của tài khoản làm nhận dạng trong EndpointAddress cho máy chủ.

Sau khi thay đổi các thuộc tính ngẫu nhiên và thường rối tung, cách duy nhất tôi có thể làm việc đó là thay đổi Hồ bơi ứng dụng cho dịch vụ sử dụng LocalSystem làm Nhận dạng. Điều này sau đó đã khiến quản trị viên của sys có mèo con, và không phải là điều tôi có thể tiếp tục làm.

Có ai có thể tiết lộ bất kỳ ánh sáng nào về lý do điều này xảy ra không? Cả tài khoản Windows của khách hàng và Danh tính của AppPool đều nằm trong cùng một miền. Dịch vụ đang chạy trên một máy chủ trong cùng một miền.

Trả lời

2

Nếu xác thực hoạt động với LocalSystem nhưng không phải tài khoản miền, có thể bạn đang thiếu SPN cho tài khoản miền. Trang này cung cấp một số thông tin cơ bản về cấu hình danh tính mà dịch vụ của bạn đang chạy dưới dạng: http://msdn.microsoft.com/en-us/library/bb628618.aspx

+0

Chỉ là một ý tưởng, nếu máy được thiết lập như một máy ảo từ một mẫu (tức là nhân bản)? –

+0

Tôi không chắc chắn rằng máy đang được sao chép (hay không) sẽ ảnh hưởng đến điều này. AFAIK sử dụng Kerberos danh tính dịch vụ yêu cầu SPN/UPN hợp lệ. –

Các vấn đề liên quan