THỰC ĐƠN

SSO (Đăng nhập một lần) bằng xác thực Windows tích hợp IIS

mục lục

Tổng quan về xác thực Windows tích hợp

Xác thực Windows tích hợp (IWA) là cơ chế tự động cung cấp thông tin xác thực người dùng cho IIS khi IIS và người dùng đăng nhập vào cùng một miền. Khi bạn tạo một trang web bằng ASP.NET C#, bạn có thể nhận được xác định xác thực người dùng và thông tin người dùng được xác thực.

Điều này cho phép người dùng truy cập các ứng dụng web được lưu trữ (hoặc liên kết) bởi IIS mà không cần thao tác đăng nhập bổ sung và cho phép tích hợp SSO với các máy chủ ứng dụng khác.

*Nếu bạn không tham gia vào cùng một miền hoặc nếu người dùng chưa được xác thực truy cập vào trang IIS, vòng quay đăng nhập sẽ được hiển thị và nếu bạn không xác thực chính xác, Lỗi HTTP 401.1 - Không được phép sẽ xảy ra.

Luồng SSO (Đăng nhập một lần)

Gói Ultimate của Chat&Messenger tại chỗ cho phép SSO với xác thực Windows tích hợp. Luồng SSO như sau.

  1. Trước tiên, khách hàng truy cập vào trang xác thực Windows tích hợp /cam-iissso
  2. Trang /cam-iissso sử dụng ASP.NET để xác định xem nó có được xác thực hay không và liên kết đến CAMServer.
  3. CAMServer thực hiện tìm kiếm LDAP để xác nhận rằng đó là người dùng AD thông thường, tạo ssoToken (giá trị ngẫu nhiên duy nhất từ 30 byte trở lên) và URL để truy cập CAMServer, đồng thời yêu cầu chuyển hướng.
  4. Truy cập CAMServer và xác thực bằng ssoToken. Nếu xác thực thành công, ID phiên để truy cập API sẽ được chỉ định.

ID người dùng của người dùng sẽ sử dụng SSO phải khớp với UserPrincipalName trong Active Directory và phải được đăng ký trước trong Chat&Messenger. UserPrincipalName là Tôi muốn lấy danh sách người dùng Active Directory và tạo CSV. Vui lòng tham khảo thêm thông tin sau.

Yêu cầu để đạt được SSO

Tham gia Windows Server vào Domain

Vui lòng kết nối Windows Server chạy CAMServer/IIS vào miền Active Directory.

Để kiểm tra tên miền mà Windows Server hiện tại đang tham gia, hãy vào "Trình quản lý máy chủ" → nhấp vào "Máy chủ cục bộ" trên menu bên trái → nhấp vào "Tên máy tính" và tham khảo cột Tên miền.

Ngoài ra, IIS phải nằm trên cùng một máy chủ với CAMServer và chạy trên cổng 80. Nếu bạn đặt LoadBalancer trước CAMServer, CAMServer sẽ chạy trên cổng 8080, do đó IIS cũng có thể sử dụng cổng 443.

Cài đặt IIS

Cài đặt IIS từ vai trò máy chủ.

Khi cài đặt IIS, hãy kiểm tra các mục sau trong tùy chọn lựa chọn Dịch vụ vai trò.

  • Xác thực Windows
  • Bộ lọc ISAPI
  • Cài đặt tiện ích mở rộng ISAPI riêng biệt

Vui lòng chạy IIS trên cùng máy chủ với CAMServer và trên cổng 80.

Bộ lọc ISAPI: Hỗ trợ tải mô-đun mở rộng trong IIS. Bắt buộc phải tải AspNetCoreModuleV2.

Tiện ích mở rộng ISAPI: Thêm tiện ích mở rộng ISAPI vào IIS. Cần thiết cho hoạt động AspNetCoreModuleV2. Khởi động trình quản lý IIS (iisreset)

Cài đặt gói lưu trữ ASP.NET Core

Gói lưu trữ lõi ASP.NET Hãy cài đặt.

Khi lưu trữ các ứng dụng ASP.NET Core trong môi trường IIS, chỉ cần cài đặt Gói lưu trữ ASP.NET Core sẽ tự động cài đặt các mục sau: .NET Runtime ASP.NET Core Runtime

Sau khi cài đặt, hãy khởi động lại IIS và đảm bảo AspNetCoreModuleV2 có trong ánh xạ trình xử lý.

Khởi động lại IIS
Xử lý ánh xạ

Thêm ứng dụng (cam-iissso)

Thêm ứng dụng cam-iissso vào Trang web mặc định.

  • Bí danh: cam-iissso
  • Đường dẫn vật lý: \sys\cam-iissso-net8.0

Ngoài ra, cấp quyền truy cập xem (đọc và thực thi, liệt kê nội dung thư mục, đọc) cho thư mục cam-iissso-net8.0 cho nhóm IIS_IUSRS.

Kích hoạt xác thực Windows

Nhấp chuột phải vào "Xác thực Windows" và chọn "Bật".

Nếu "Xác thực ẩn danh" được bật, vui lòng tắt nó.

Đặt tùy chọn Internet

Thêm trang web do IIS cung cấp vào vùng mạng nội bộ

Chọn Tùy chọn Internet, nhấp vào tab Bảo mật, chọn Mạng nội bộ cục bộ Nhấp vào nút Trang web, chọn Cài đặt nâng cao và thêm URL trang web

Kiểm tra đăng nhập tự động

Nhấp vào "Cấp tùy chỉnh" và trong "Xác thực người dùng" → "Đăng nhập", đảm bảo "Đăng nhập tự động trong vùng mạng nội bộ" được chọn.

Cài đặt này là bắt buộc trên tất cả các thiết bị đầu cuối máy khách của người dùng C&M nhưng nó có thể được quản lý tập trung bằng Bảng điều khiển quản lý chính sách nhóm.

Cài đặt LDAP

Khi thực hiện đăng nhập một lần bằng IIS,Cài đặt LDAP(LDAPUrl, LDAPBaseDN, người dùng AD thực hiện xác thực proxy) là bắt buộc.

Truy cập thông qua FQDN (tên miền đủ điều kiện) và đăng ký SPN

Điều này không cần thiết nếu bạn truy cập trang Xác thực tích hợp Windows của IIS bằng tên máy chủ (tên NetBIOS), nhưng bạn phải đăng ký SPN nếu truy cập bằng FQDN (tên miền đủ điều kiện, ví dụ: sso.example.com).

SPN (Tên dịch vụ chính) là tên dùng để xác định duy nhất một dịch vụ cụ thể trên Active Directory trong xác thực Kerberos. Nếu bạn truy cập dịch vụ bằng FQDN, việc đăng ký SPN sẽ cho phép máy khách yêu cầu thành công phiếu Kerberos cho dịch vụ bạn đang truy cập.

Ví dụ https://sso.example.com Khi truy cập, máy khách (trình duyệt) yêu cầu một phiếu từ Active Directory, nói rằng "Tôi muốn kết nối với dịch vụ có tên là HTTP/sso.example.com." Active Directory xác định SPN được liên kết với tài khoản nào và cấp phiếu dịch vụ tương ứng. Nếu SPN không được đăng ký đúng cách, xác thực Kerberos sẽ không thành công, dẫn đến hộp thoại xác thực được hiển thị.

Việc đăng ký SPN được thực hiện trên tài khoản máy tính lưu trữ IIS. Ví dụ,quảng cáo Đối với IIS chạy với tên máy chủ, hãy đăng ký SPN như sau:

setspn -S HTTP/sso.example.com ad$

Sau khi đăng ký, bạn có thể kiểm tra bằng lệnh sau:

setspn -L ad$

Kết quả này HTTP/sso.example.com Nếu hiển thị thì nghĩa là đã đăng ký SPN thành công.

Không khả dụng trong môi trường kết nối proxy HTTP

Xin lưu ý rằng SSO không thể được sử dụng trong môi trường kết nối proxy HTTP.

Cấu hình trong môi trường LoadBalancer + SSL

Nếu bạn đang sử dụng Xác thực Windows tích hợp IIS trong môi trường LoadBalancer + SSL, vui lòng tham khảo bài viết blog sau.

あわせて読みたい
Cách cấu hình Xác thực Windows tích hợp IIS để thành công trong môi trường cân bằng tải + SSL [Về Xác thực Windows tích hợp] Xác thực Windows tích hợp được thực hiện tự động khi IIS và người dùng thuộc cùng một miền Active Directory.
  • URLをコピーしました!
mục lục