本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用外部验证
默认情况下,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"/>
dcvSimple外部身份验证器
NICE DCV 附带一个名为的参考外部身份验证服务器,DcvSimpleExternalAuthenticator
. DCV SimpleExternal 身份验证器是一个单一的 Python 脚本,您可以用作自行创建自己的自定义身份验证服务器的起点。
dcvSimpleExternalAthenticator 服务器支持 HTTP 和 HTTPS,并且必须在安装 NICE DCV 服务器的同一服务器上运行。默认情况下,dcvSimpleExternal 身份验证器侦听端口上的请求8444
. 如果需要,您可以更改端口。要做到这一点,请打开/etc/dcv/simpleextauth.conf
使用首选文本编辑器,找到EXTAUTH_PORT
参数,并将现有值替换为所需的端口号。
要使用 dcvSimpleExternal 身份验证器,您必须安装nice-dcv-simple-external-authenticator
程序包。有关更多信息,请参阅 安装 NICE DCV 服务器。
启动 DcvSimpleExternalAuthenticator 安装完成后,请运行以下命令:
$
dcvsimpleextauth start-server