Xác thực Windows trong ASP.NET Core: Đăng nhập thủ công so với Đăng nhập tự động Intranet và các nhóm khả dụng


9

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 WindowsIdentitymà 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ị:

sự khác biệt nhóm cho thủ công so với đăng nhập tự động

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:

Đăng nhập cấu hình

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.

Câu trả lời:


9

Người dùng đã đăng xuất khỏi máy tính của họ kể từ khi được thêm vào các nhóm đó chưa?

Các nhóm được liệt kê được tổ chức trong mã thông báo đăng nhập của người dùng. Tôi nghĩ điều có thể xảy ra là đăng nhập tự động gửi mã thông báo đăng nhập hiện tại của người dùng (được tạo khi họ đăng nhập vào Windows), do đó, nó sẽ không chứa bất kỳ nhóm nào mà họ đã được thêm vào kể từ lần đăng nhập cuối cùng.

Nhập thủ công tên người dùng và mật khẩu sẽ thực hiện đăng nhập mới và do đó nhận được mã thông báo hoàn toàn mới với tất cả các nhóm tại thời điểm đăng nhập. Vì vậy, các nhóm mới sẽ xuất hiện ở đó.


1
Sau một số kiểm tra bổ sung, hóa ra bạn hoàn toàn chính xác. Ban đầu tôi nghĩ rằng tôi đã khởi động lại máy kể từ khi các vấn đề hiển thị, nhưng sau khi thực sự buộc phải đăng xuất và đăng nhập, tôi thấy rằng thực sự sau khi đăng nhập lại, tôi đã có thể thấy các nhóm. Cảm ơn - quá rõ ràng khi nhìn lại nhưng vẫn rất dễ bỏ lỡ.
Rick Strahl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.