XenApp/XenDesktop登录过程概述

Citrix虚拟桌面以及虚拟应用的登录过程如果在配置正确情况下,可能只需要几秒钟来可以运行打开。时间虽然短暂,但是这段时间内它的执行却是比较复杂的,各个组件之间包括Citrix ReceiverCitrix BrokeringArchitecture/NetScalerStoreFrontDelivery Controller,和Session Host/App ServerVDI相互按照设计的通讯流程按部就班的相互交互,完成整个系统的虚拟桌面以及虚拟应用的登录过程。

我们通过认知这一登录过程内部的细节,可以有助于我们在进行登录问题排查和登录性能故障时进行快速定位。在XenDesktop 7.x中,相较于XenDesktop5.x的版本以及XenApp6.x的版本,不但架构进行了合并,而且组件也进行了部分革新。因此,在这一部分需要说明的是:其中的许多细节其实已不在需要我在此处进行详细解释。如果前端是通过NetScaler发布Gateway进行ICA Proxy的,可以参看历史文章《ICA Proxy访问数据流》,如果需要知道XenDesktop5.x的版本登录流程,可以参看历史文章《XenDesktop5.x/XenApp6.x访问数据流》,对于XenDesktop7.x的版本,其访问数据流差别在于何处?在5.x的版本中其前端枚举呈现应用以及桌面的组件是Web Interface,7.x的版本中默认是StoreFront,同时兼容Web Interface。后端架构组件上来说总体性差异不大。因此对于其差异性进行比较,StoreFront除了要让用户看到完整的资源列表 (这和Web Interface的功能一致),还要让用户看到上次选择过的应用和桌面的快捷方式 (这功能Web Interface木有)。详细点来说就是,我们在第一次访问StoreFront 3.x的时候,进入的第一个页面就是所谓的收藏夹,其后才是枚举出来的桌面以及应用。当我们将常用的应用或桌面选择加入收藏夹之后,该应用或桌面的快捷方式就保存到了StoreFront自个的应用商店中,具体来说就是添加了一个记录到StoreFront自个的数据库当中。

因为在StoreFront本地有了一个用户和应用以及桌面快捷方式的对于关系,那么就需要在用户登录的时候,StoreFront要先找AD做一下用户名密码认证,确认用户名之后才会通过从StoreFront自个儿的数据库中查出该用户上次选择加入到收藏夹的应用和桌面;

之后的数据访问流程和5.x基本一致。在StoreFrontAD认证成功之后,会将前端的用户名密码信息传递给DDC进行二次认证,DDCAD认证,这时的认证是为了从DDC的数据库中查到该用户完整的资源列表。这两次认证的用途并不相同。因此5.x版本与7.x版本的区别在于,在访问数据流流程上,在StoreFront组件上会有一次到AD去认证的步骤。

另一种情况,在前端拥有NetScaler设备的情况下,如果是使用的Web Interface组件,前端NetScaler可以配置AD认证也可以不配做AD认证。在NetScaler配置AD认证的情况下,Web Interface组件去调用NetScaler的认证信息。在NetScaler不配置AD认证的情况下,NetScalergateway页面将URL跳转到Web Interface组件的登录认证页面,由Web Interface组件将账户信息传递给DDC。同理在StoreFront组件上,如果认证在NetScaler上做,且StoreFront启用了Netscaler Pass through认证,那么StoreFront就不再向AD认证了;StoreFront需要验证用户身份时,通过NetScalercallback URLNetScaler确认用户的认证结果,如果NetScaler认证成功,StoreFront就从自个儿的数据库查出该用户上次选择加入收藏夹的应用和桌面即可。

下面的图表介绍了当用户点击一个应用程序或桌面上的图标时,这些桌面或者应用在启动登录过程中所发生的事件的顺序:

wKioL1duAPPi_2SCAAEcsFmF5G0610.png


1、      最终用户点击CitrixStreFront页面上的桌面或应用程序图标来进行启动。

2、           CitrixStreFront从交付控制器请求会话主机或虚拟桌面。

3、           交付控制器选择一个会话主机或虚拟桌面。

4、           交付控制器发送会话主机或虚拟桌面的主机名和IP地址以及凭据等信息给到Citrix StreFront

5、           CitrixStreFront创建ICA文件,并将其发送到Citrix Receiver

6、           CitrixReceiver关联并启动解析ICA文件。

7、           CitrixReceiver根据解析的ICA文件的IP地址,发起对改IP地址的连接请求。

8、           CitrixReceiver的通过ICA协议和会话主机或虚拟桌面建立ICA连接。

9、           此时会话主机或虚拟桌面会将用户的请求会话信息提交给交付控制器,交付控制器创建一个用户会话。

10、       交付控制器根据创建的用户会话处理下发Citrix策略。

11、       该会话将信息处理完毕之后由交付控制器broker服务发送到会话主机或者虚拟桌面。

12、       此时会话将用户名和密码交由域控制器进行用户登录认证。

13、       最终用户看到的Citrix会话窗口打开进入Windows欢迎屏幕。

14、       加载用户配置文件,组策略(GPO)以及执行登录脚本。

15、       应用/桌面全面启动运行。