Tôi đang cố gắng triển khai một ứng dụng trong mạng máy khách, với bộ điều khiển AD/domain.Lời nhắc xác thực Windows cho tên người dùng/mật khẩu
Ứng dụng của tôi là một ứng dụng asp.net C# đơn giản, sử dụng xác thực cửa sổ.
Tôi đang sử dụng win2003.
Về cơ bản, sử dụng VS2008, tạo một trang web mới, được lưu trữ trên IIS6.0. Chỉ có 2 thay đổi. 1. Về bảo mật thư mục IIS cho ứng dụng, đã bật "Bảo mật tích hợp".
Lưu ý: ẩn danh cũng được bật.
Chỉ có một thay đổi đối với mã bộ xương được tạo. Thêm bên dưới để phương pháp Page_Load của default.aspx
using System.Security.Principal;
...
protected void Page_Load(object sender, EventArgs e)
{
WindowsIdentity id = WindowsIdentity.GetCurrent();
Response.Write("<B>Windows Identity Check</B><br>");
Response.Write("Name: " + id.Name + "<br>");
Response.Write("<BR>");
Response.Write("User.Identity: " + User.Identity.Name);
Response.Write("<BR>");
}
Output của trình duyệt đến trang: của Windows nhận dạng Tên Trả phòng: NT AUTHORITY \ NETWORK DỊCH VỤ User.Identity:
User.Identity.Name không xuất ra tên người dùng hiện tại.
Như đã thảo luận trong bài viết này http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx
Tôi nói thêm:
<authorization>
<deny users="?"/>
</authorization>
Từ những gì tôi userstand là, khi điều này được thêm vào, tôi có thể nhận được những người sử dụng hiện tại, tên người dùng từ User.Identity.Name .
Tuy nhiên, khi tôi thêm phần trên, trình duyệt hiện nhắc tôi nhập tên người dùng và mật khẩu. Khi tôi nhập nó, tôi có thể sử dụng User.Identity.Name để lấy tên người dùng. Tuy nhiên tôi không muốn tên người dùng/mật khẩu bật lên để xuất hiện. Tôi muốn ứng dụng xác thực người dùng dựa trên thông tin đăng nhập mạng của họ.
Tôi có thiếu gì đó không?
Bạn đã thử nghiệm trình duyệt nào? Chỉ có IE sẽ vượt qua xác thực tên người dùng/mật khẩu Windows. –
Điều đó không nhất thiết đúng - FireFox hỗ trợ Windows Integrated Authentication. –
Vâng, Firefox không có vấn đề gì với điều này, nó không chỉ xử lý tên máy chủ cục bộ như vùng tin cậy/mạng nội bộ theo mặc định như IE - nhưng chắc chắn nó có thể được cấu hình. Thậm chí có một mẫu ADM hiện có ở đâu đó cho FF Tôi nghĩ rằng các sysadmins lười biếng để sử dụng. –