菜单

使用 IIS 集成 Windows 身份验证的 SSO(单点登录)

目录

集成 Windows 身份验证概述

集成 Windows 身份验证 (IWA) 是一种当 IIS 和用户登录到同一域时自动向 IIS 提供用户身份验证信息的机制。当您使用 ASP.NET C# 创建站点时,您可以获得用户身份验证确定和经过身份验证的用户信息。

这允许用户访问 IIS 托管(或链接)的 Web 应用程序,而无需额外的登录操作,并支持与其他应用程序服务器的 SSO 集成。

*如果您未参与同一域或未经身份验证的用户访问 IIS 页面,则会显示登录拨号盘,如果您未正确进行身份验证,则会出现 HTTP 错误 401.1 – 未经授权。

SSO(单点登录)流程

Chat&Messenger On-Premise 的 Ultimate 计划允许通过集成 Windows 身份验证进行 SSO。 SSO流程如下。

  1. 客户端首先访问集成Windows认证页面/cam-iissso
  2. /cam-iissso 页面使用 ASP.NET 来确定它是否经过身份验证并链接到 CAMServer。
  3. CAMServer 执行 LDAP 搜索以确认其是常规 AD 用户,生成 ssoToken(30 字节或更多字节的唯一随机值)和用于访问 CAMServer 的 URL,并请求重定向。
  4. 访问 CAMServer 并使用 ssoToken 进行身份验证。如果身份验证成功,将分配用于 API 访问的会话 ID。

实现 SSO 的要求

安装IIS

从服务器角色安装 IIS。

安装 IIS 时选中“Windows 身份验证”选项。

完成 IIS 角色安装后,分别安装 ISAPI 筛选器和 ISAPI 扩展。

ISAPI过滤器:支持IIS中加载扩展模块。需要加载 AspNetCoreModuleV2。
ISAPI 扩展:将 ISAPI 扩展添加到 IIS。 AspNetCoreModuleV2 操作所需。启动 IIS 管理器 (iisreset)

安装 ASP.NET Core 托管捆绑包

ASP.NET Core 托管捆绑包 请安装。

安装后,重新启动 IIS 并确保处理程序映射中存在 AspNetCoreModuleV2。

在 IIS 环境中托管 ASP.NET Core 应用程序时,只需安装 ASP.NET Core Hosting Bundle 就会自动安装以下内容: .NET Runtime ASP.NET Core Runtime

添加应用程序 (cam-iissso)

下载 SSO 模块并将其复制到 C:\inetpub\wwwroot\cam-iissso https://chat-messenger.com/dl/fdd94dd-022_f2aaac/cam-iissso.zip 将 cam-iissso 应用程序添加到默认网站别名 cam-iissso 物理路径 C:\inetpub\wwwroot\cam-iissso

启用 Windows 身份验证

右键单击“Windows 身份验证”并选择“启用”。

如果启用了“匿名身份验证”,请禁用它。

设置互联网选项

将IIS提供的站点添加到内网区域

选择“Internet 选项”,单击“安全”选项卡,选择“本地 Intranet” 单击“站点”按钮,选择“高级设置”,然后添加站点 URL

检查自动登录

单击“自定义级别”,然后在“用户身份验证”→“登录”下,确保选中“在内网区域自动登录”。

C&M 用户的所有客户端都需要此设置,但可以使用组策略管理控制台进行集中管理。

LDAP 设置

使用 IIS 执行单点登录时,LDAP 设置(LDAPUrl、LDAPBaseDN、执行代理身份验证的 AD 用户)是必需的。

HTTP代理连接环境下不可用

请注意,SSO 不能在 HTTP 代理连接环境中使用。

  • URLをコピーしました!
目录