Tôi có một ứng dụng ASP.NET Core 3.0 hoạt động với Xác thực Windows Intranet cục bộ để xác định người dùng đã đăng nhập. Sử dụng các hành vi Xác thực Windows tiêu chuẩn Tôi có thể bắt người dùng WindowsIdentity
mà không gặp vấn đề gì.
Tuy nhiên, tùy thuộc vào cách người dùng đăng nhập vào trình duyệt bằng cách sử dụng đăng nhập Trình duyệt Intranet tự động (nghĩa là không có hộp thoại mật khẩu) hoặc đăng nhập rõ ràng bằng hộp thoại Mật khẩu trình duyệt, tôi nhận được các kết quả khác nhau cho các nhóm người dùng .
Sau đây là yêu cầu API phản hồi lại thông tin người dùng bao gồm danh sách thành viên nhóm được lọc (không bao gồm các tài khoản tích hợp). Cái bên trái là đăng nhập thủ công, cái bên phải là đăng nhập tự động.
Để đăng nhập rõ ràng, tôi thấy chính xác tất cả các nhóm tùy chỉnh mà người dùng là một phần của. Tuy nhiên, để đăng nhập tự động, các nhóm tương tự không hiển thị:
Tôi cũng đã xem xét kỹ các trường hợp Người dùng và Danh tính trên máy chủ và nó tham chiếu cùng một SID chính xác cho người dùng, vì vậy có vẻ lạ khi các kết quả khác nhau được trả về cho Tư cách thành viên nhóm.
Bất kỳ ý tưởng tại sao danh sách nhóm là khác nhau khi tôi nhận được cùng một tài khoản? Lưu ý các nhóm là cục bộ vì vậy nó không phải là một vấn đề do truy cập tên miền.
Lưu ý: Tôi đang kiểm tra cục bộ trên localhost và để kiểm tra điều này, tôi đã đặt Cài đặt Proxy Windows tại đây:
Với các hộp kiểm tắt tôi buộc phải đăng nhập. Với chúng trên (dù sao trong trình duyệt Chromium) tôi phải nhập rõ ràng thông tin đăng nhập của mình vào hộp thoại đăng nhập của trình duyệt.