7

Tôi đang cố thiết lập xác thực Windows trong ứng dụng web .NET 4.0 MVC3 của mình, vì vậy người dùng mạng nội bộ trong công ty có thể đăng nhập mà không bị nhắc.Xác thực Windows không hoạt động

Trong web.config tôi có:

<authentication mode="Windows" /> 
<authorization> 
    <deny users = "?" /> 
</authorization> 

Trong IIS tôi vô hiệu hóa truy cập nặc danh cho toàn bộ ứng dụng web và để lại chỉ dành cho Windows authentication kiểm tra. Tôi đang sử dụng IIS 6.0 trên Windows 2003.

Bây giờ, khi tôi truy cập vào các trang web từ USER \ MÁY TÍNH Tôi đang đăng nhập mà không bị nhắc nhở, nhưng như một người dùng sai (không bản thân mình, nhưng tài khoản quản trị của máy chủ ứng dụng web đang chạy tại).

Khi tôi truy cập trang web từ USER \ SOMESERVER Tôi đã đăng nhập với tư cách NGƯỜI DÙNG, giống như mong đợi. Tất cả những người khác đang cố gắng truy cập vào ứng dụng của tôi từ máy tính của họ đều nhận được nhắc nhở về tên người dùng và mật khẩu (họ có thể đăng nhập khi họ cung cấp thông tin đăng nhập hợp lệ). Điều này đặc biệt lạ, bởi vì tất cả chúng đều có xác thực cửa sổ tích hợp được bật trong cài đặt IE và * .domain.intra được thêm vào các trang web mạng nội bộ.

Có ai có ý tưởng gì đang xảy ra không? Làm thế nào tôi có thể làm cho nó hoạt động, do đó, người dùng đăng nhập như chính mình mà không bị nhắc nhở?

EDIT: hồ bơi ứng dụng web chạy như NETWORK SERVICE, vì vậy tôi không hiểu tại sao tôi đăng nhập như một người dùng sai từ máy phát triển của tôi ...

EDIT2: kể từ khi tôi sử dụng MẠNG DỊCH VỤ làm nhận dạng cho nhóm ứng dụng, tôi đã làm theo các bước giải pháp từ đây: http://support.microsoft.com/kb/871179. Nhưng nó vẫn không hoạt động ...

Tất cả người dùng và các máy thuộc cùng một miền

EDIT3: Tôi thấy điều này: http://forums.iis.net/t/1167087.aspx. Vấn đề họ mô tả giống hệt nhau. Các giải pháp cũng làm việc. Vấn đề duy nhất vẫn còn tồn tại là từ máy phát triển của tôi, tôi vẫn tự động đăng nhập như một người dùng sai. May mắn là tất cả các máy khách đăng nhập với tư cách là người dùng hiện tại.

+1

Có vẻ như bạn có thiết lập mạo danh trong IIS. –

+1

Bạn nhận được tên người dùng mà bạn đang đăng nhập bằng cách nào? Bạn có bất kỳ tham chiếu nào cho người dùng sai trong mã của bạn ở bất kỳ đâu không? Khi những người dùng khác nhận được lời nhắc cho tên người dùng và mật khẩu, họ có thể đăng nhập hoặc thực hiện việc từ chối ủy quyền của họ không? Và câu hỏi hiển nhiên là tất cả người dùng trên cùng một tên miền? ;-) – Chris

+0

Họ có thể đăng nhập với tư cách là chính họ và sau đó cũng là tên người dùng thích hợp được hiển thị trong phần người dùng. Tôi không có bất kỳ tham chiếu đến người dùng sai và tôi không cấu hình impersonatation trong web.config. Tôi nhận tên người dùng từ 'User.Identity.Name' –

Trả lời

0

Tôi googled nhiều hơn một chút và thấy điều này: http://forums.iis.net/t/1167087.aspx. Khởi động lại máy chủ thực sự đã giải quyết được sự cố. Điều đáng buồn là chúng tôi vẫn không biết điều gì đang gây ra nó ...

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