2010-01-07 20 views

Trả lời

0

Không TRƯỚC KHI (không phải từ máy chủ).

Tùy thuộc vào loại Auth bạn sử dụng, và cách trang web được định cấu hình, bạn CÓ THỂ yêu cầu họ đăng nhập bằng chi tiết cửa sổ của họ.

1

Không may là không - nếu người dùng chưa đăng nhập, họ đang duyệt ẩn danh và do đó không được biết đến máy chủ. Không có cách nào để xác định chúng.

Sau khi đăng nhập, nếu bạn đang sử dụng mạo danh sử dụng WindowsIdentity.GetCurrent().Name. Tuy nhiên, để xác thực biểu mẫu không có cách trực tiếp để yêu cầu trình duyệt cho các thông tin đăng nhập Windows của họ vì chúng có thể thậm chí không chạy Windows!

+0

Rất cám ơn. Trên thực tế nó không quan trọng nếu nó là trước hoặc sau khi đăng nhập, tôi chỉ cần biết tên người dùng os của khách hàng. Sau khi biểu mẫu đăng nhập WindowsIdentity.GetCurrent(). Tên trả về nt authority/network service. Vì vậy, tôi cho rằng điều này là không thể nếu không có một số loại điều khiển activeX. Cảm ơn đã giúp đỡ. – Shigg

+0

Thật vậy, tôi (không đúng) cho rằng bạn đang sử dụng mạo danh - tôi đã cập nhật câu trả lời của mình. –

+0

Shigg: Trên thực tế, có thể, nếu trang web của bạn nằm trong vùng tin cậy và sử dụng cửa sổ auth. –

1

Điều này chỉ có thể xảy ra nếu bạn đang sử dụng Xác thực Windows trong ứng dụng web của mình và sau đó chỉ khi người dùng đăng nhập.
Loại thông tin bạn đang gửi không được gửi như một phần của yêu cầu web (hoàn toàn đúng) và do đó không biết đến máy chủ web.

4

Chắc chắn là có thể - bằng cách thêm một ứng dụng web khác vào hệ thống của bạn. Đây là cách tôi đã thực hiện:

Ứng dụng web chính của bạn sử dụng xác thực Mẫu. Trên trang đăng nhập biểu mẫu, bất kỳ người dùng nào được xác định là trên mạng LAN cục bộ (kiểm tra địa chỉ IP), chuyển hướng họ đến một ứng dụng khác sử dụng xác thực Windows. Trong ứng dụng thứ hai này, bạn có thể xác định người dùng (giả sử trình duyệt được định cấu hình để gửi thông tin đăng nhập tự động đến vùng mà ứng dụng của bạn cư trú), sau đó đặt cookie mà ứng dụng đầu tiên của bạn có thể đọc và chuyển hướng người dùng quay lại ứng dụng gốc .

Tính năng này hoạt động.

+0

Làm cách nào để đặt cookie ứng dụng chéo? – awe

+1

@awe sử dụng cùng một 'machineKey' như trong SingleSignOn: http://stackoverflow.com/questions/4312020/single-sign-on-in-asp-net-cookie-name-machinekey-and-what-more –

0

Xem Mixing Forms and Windows Security in ASP.NET on Microsoft's MSDN.

Sự khác biệt chính với câu trả lời @TheObjectGuy là thay vì sử dụng 2 trang web, điều này thực hiện tất cả trong một trang web bằng cách định cấu hình IIS để sử dụng xác thực Windows tích hợp chỉ trong một trang "duy nhất" (WinLogin.aspx).

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