我只是想知道是否有人可以帮助我如何在启动 RemoteApps 时启用 SSO。我按照网上的一些说明操作,但似乎不起作用。
我做了以下事情:我从我的 IIS7 创建了一个证书,并将其作为数字签名导入到我的 RemoteApp。当我尝试从 TS 网关运行 RemoteApp(即我通过物理 RDP 连接到它)时,SSO 可以工作,我的应用程序会自动启动。但是,当我从网络中或网络外的另一台计算机打开 IE 时,TS Web 会打开我的用户对其进行身份验证,但在启动 RemoteApp 时,系统会再次提示他们登录。由于 RemoteApp 需要用户身份验证,如果用户必须输入用户名/密码 3 次,他们会很恼火。关于如何允许 SSO 工作(特别是从互联网)的任何想法。我真的不想从受信任的供应商那里购买证书,所以我想自己将证书发布给用户。
谢谢
答案1
如果他们不在域中,我确信他们没有办法将凭据从 Web 登录传递到 RDP。Web Access 所做的只是动态创建一个 .RDP 文件,供您即时下载。如果他们加入了域,也许可以,但不是从工作组“家庭”计算机。Web Access 不支持(不编写 ASP.NET 代码)获取您的 Web 表单登录并将其复制到您单击应用程序时获得的 .RDP 文件中。
如果您必须使用 Web 访问功能,那么您所能期望的最好结果是一旦在 Web 表单上使用,如果您拥有公共(购买)SSL 证书,他们在 RDP 要求其自己的 NLA 登录提示之前不会收到警告。
您需要 Citrix Web Access 才能获得真正的一次性登录。
答案2
我让它工作了 :) 从域外连接时,SSO 确实有效。我所做的是创建证书。然后将证书导入网关并使用相同的证书,并通过将其作为数字签名进行签名导入 RemoteApp。完成后,我将相同的证书带到客户端计算机并将其安装到“受信任的根证书颁发机构”。将证书导入客户端计算机后,我便向 TS 网关进行身份验证,然后 RemoteApp 便开始运行,无需提示进行第二次 Windows 身份验证。