本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用外部身份验证
默认情况下,NICE DCV 客户端身份验证委托给底层操作系统。使用 Windows NICE DCV 服务器,将身份验证委托给 WinLogon. 使用 Linux NICE DCV 服务器,身份验证委托给 Linux PAM。
您可以将 NICE DCV 配置为使用外部身份验证服务器对客户端进行身份验证。这使您能够使用现有的身份验证系统。使用外部身份验证,NICE DCV 利用您现有的登录机制并将身份验证委托给外部身份验证服务器。
要使用外部身份验证服务器,您必须拥有以下项:
-
登录机制—这是您的用户用来登录的前端机制。它应该能够使用您现有的凭证验证系统来验证您的用户,并且应该能够生成令牌并将其提供给 NICE DCV 服务器。有关更多信息,请参阅 使用令牌。
-
身份验证服务器—这是对登录机制生成的令牌进行身份验证的服务器。该服务器应该能够从 NICE DCV 服务器接收包含令牌的 HTTP (S) POST 请求,执行必要的身份验证,然后将响应发送回 NICE DCV 服务器。有关实施身份验证服务器的更多信息,请参阅身份验证服务要求.
-
NICE DCV 服务器配置—必须将 NICE DCV 服务器配置为使用外部身份验证服务器。有关更多信息,请参阅 NICE DCV 服务器配置。
NICE DCV 服务器配置
必须将 NICE DCV 服务器配置为使用外部身份验证服务。
使用令牌
生成令牌后,必须能够将其发送到 NICE DCV 服务器。使用 Web 浏览器客户端,将令牌附加到连接 URL,如下所示:
https://
server_hostname_or_IP
:port
/?authToken=token
#session_id
例如:
https://my-dcv-server.com:8443/?authToken=1234567890abcdef#my-session
身份验证服务要求
您的自定义身份验证服务可以在 NICE DCV 服务器的同一台主机上运行,也可以在单独的主机上运行。身份验证服务必须监听来自 NICE DCV 服务器的 HTTP (S) POST 请求。
下面显示了 NICE DCV 服务器使用的 POST 请求格式。
POST / HTTP/1.1 Content-Type: application/x-www-form-urlencoded sessionId=
session_id
&authenticationToken=token
&clientAddress=client_address
您的身份验证服务负责确定提供的令牌是否有效。
验证令牌后,身份验证服务器必须将响应返回给 NICE DCV 服务器。根据身份验证过程的结果,响应正文必须包含以下内容之一:
-
如果身份验证成功,身份验证服务返回结果
yes
和用户标识符。例如:<auth result="yes"><username>
username
</username></auth> -
如果身份验证不成功,则身份验证服务返回结果为
no
. 例如:<auth result="no"/><message>
message
</message></auth>
DcvSimpleExternalAuthenticator
NICE DCV 附带了一个名为的参考外部身份验证服务器DcvSimpleExternalAuthenticator
. DcvSimpleExternalAuthenticator 是一个单个 Python 脚本,您可以将其用作创建自己的自定义身份验证服务器的起点。
DcvSimpleExternalAuthenticator 服务器支持 HTTP 和 HTTPS,并且它必须在安装 NICE DCV 服务器的同一台服务器上运行。默认情况下,DcvSimpleExternalAuthenticator 监听端口上的请求8444
. 如果需要,您可以更改端口。要执行此操作,请打开/etc/dcv/simpleextauth.conf
使用所需的文本编辑器,找到EXTAUTH_PORT
参数,并将现有值替换为所需的端口号。
要使用 DcvSimpleExternalAuthenticator,您必须安装nice-dcv-simple-external-authenticator
package 有关更多信息,请参阅 安装 NICE DCV 服务器。
要启动 DcvSimpleExternalAuthenticator 安装后,运行以下命令:
$
dcvsimpleextauth start-server