Citrix XenApp登录服务器过程详解
详细流程:
1. 客户端上的receiver负责解析ICA文件,并根据ICA文件的内容发起连接请求。若是外网访问,则ICA文件中记录的是NetScaler的AG FQDN信息,连接请求发至NetScaler的AG,流程按顺序往下走;若是内网访问,则ICA文件中记录的是虚拟机的IP信息,客户端直连虚拟机。
2. 登录虚拟机:虚拟机收到连接请求后,需要执行三个步骤:Logon Ticket验证,License验证,登录。
b) DDC接收到调用请求后,向STA服务校验Logon Ticket是否有效。由于金航的项目是智能卡传递,所以向STA服务校验是不成功的,校验无效,则向AD-LADAP进行再次的身份验证,将换回来的域帐号信息发回给DDC。
b) VDA收到域帐号信息后,XP下是通过Citrix的picagina.dll负责将域帐号信息贴在登录窗口,以完成登录,WIN7下是通过Windows的Credential Provider API完成的。
3、最后,VDA向DDC更新其状态为“使用中”,并更新数据库,至此,登录流程结束。
虚拟应用架构流程图
1、 用户的虚拟桌面里面右键Citrix联机插件或者在开始所有程序那里点开所需要访问的应用程序图标,Citrix联机插件接受到用户的指令后,通过HTTPS协议走SSL加密的通道和443端口将用户证书传递到Citrix Web Intece站点;
【技术细节:虚拟桌面里会安装Client证书,Citrix Web Intece站点会安装一个Server证书,在用户发起请求的时候,Client证书与Server证书会先确认对方是它相连接的,而不是第三方冒充的。相互确认之后,Client证书与Server证书会交换session key,用于连接后数据的传输加密和hash校验。Client证书与Server证书加密(内容加密)之后,再走SSL加密(通道加密)】
2、 CitrixWeb Intece将用户身份证书通过XML Broker TCP 80和443端口传输到XenApp服务器中IMA服务,IMA服务将用户身份证书传递给本地的Lsass.exe进程;
3、 XenApp服务器中Lsass.exe将用户验证信息传递给域进行身份验证;
4、 域控传给LDAP服务器;
5、 LDAP返回结果;
6、 AD将身份验证结果返回给XenApp服务器的Lsass.exe,然后传递给IMA服务;
7、 XenApp去数据库枚举应用列表;
8、 数据库返回应用列表;
9、 根据结果信息查看应用在那个FARM;
10、 成员服务器返回结果;
11、 XenApp服务器中的IMA服务将身份验证结果及XenApp发布应用列表和策略通过XML Broker返回给Web intece站点服务器;
12、 WebIntece站点将身份验证结果及XenApp发布应用列表和策略返回给客户端(citrix Receiver或浏览器)指定客户端需要访问的XenApp服务器,并传输ICA文件到客户端;
13、 客户端通过Receiver或者online plug-in打开ICA文件,访问发布的应用程序(citrix Receiver-Web Intece-XenApp Farm);
14、 XenApp服务器访问XenApp服务器ZDC寻求验证信息;
15、 XenAppZDC发送请求到licensing服务器上看是否有空余的授权;
16、 Licensing服务器返回可用License查询结果给ZDC;
17、 XenAppZDC去RDS服务器产看是否有终端授权许可;
18、 RDS返回许可;
19、 ZDC返回信息给XenApp成员服务器;
20、 XenApp与客户端建立会话,并启动应用程序;
附图一张:
Citrix XenApp登录服务器过程详解的更多相关文章
- Python使用socketServer包搭建简易服务器过程详解
官方提供了socketserver包去方便我们快速的搭建一个服务器框架. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的 ...
- 使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解
使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解 背景:这几天从阿里云上面购买了云服务器,最垃圾的那种,还送oss和EDS数据库服务器,只不过EDS数据库服务器只有一个 ...
- 理论经典:TCP协议的3次握手与4次挥手过程详解
1.前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务. 面向连接意味着两个使用TCP的应用(通常是一个客户和一 ...
- hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解
hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解 一,环境: 1,主机规划: 集群中包括3个节点:hadoop01为Master,其余为Salve,节点之间局域网连接 ...
- BabyLinux制作过程详解
转:http://www.360doc.com/content/05/0915/14/1429_12641.shtml BabyLinux制作过程详解 作者:GuCuiwen email:win2li ...
- (转)Linux 开机引导和启动过程详解
Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LC ...
- MySQL对数据库数据进行复制的基本过程详解
MySQL对数据库数据进行复制的基本过程详解 这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下 复制 复制是从一个MySQL服务器(ma ...
- sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解
介绍了sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解 --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL S ...
- [转帖]SSH远程登录配置文件sshd_config详解
SSH远程登录配置文件sshd_config详解 2016年06月02日 17:42:25 Field_Yang 阅读数 61386 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权 ...
随机推荐
- Charles抓包基本用法
Charles抓包 浏览器发送和接受的所有请求都可以抓到 1.可以定位问题(如果看不出来是服务端问题还是前端问题) 2.可以设置弱网模式 清空请求按钮如图: 抓包: 1 打开charles,在浏览器中 ...
- mysql中describe关键字
今天写代码的时候,有一个类的数据始终不能插入,老是提示在You have an error in your SQL syntax; check the manual that corresponds ...
- SVN 的搭建及使用(一)下载和搭建SVN服务器
(本文是从博客园上的文章改编而来,其中有些关于版本问题的截图是直接引用原文的,与当前版本有可能不同) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和 ...
- asp.net mvc模板布局
- asp.net 网页跳转的几种常用方法
Response.Redirect("http://www.baidu.com",false); 后面的bool值为是否停止执行当前页.跳转向新的页面,原窗口被代替.浏览器中的UR ...
- 自动化测试-5.python基本语法
# encoding=utf-8 import sys import time # 我想从键盘输入信息 name ='' #赋值为空 print name #输出空 name=raw_input(&q ...
- Python全栈之路----常用模块----time模块
time 模块的方法 time.time():返回当前时间的时间戳. >>> import time >>> time.time() #从1974年到现在过去了多少 ...
- 编写简单的windows桌面计算器程序
编译环境:VS2017 主文件为: #include "stdafx.h" #include "WindowsProject5.h" #include &quo ...
- C# winform 打开主界面并关闭登录界面
在winform 界面编程中,我们有时候要在主界面打开之前先显示登录界面,当登录界面用户信息校验正确后才打开主界面,而这时登陆界面也完成使命该功成身退了. 目前有两种方法可实现: 方法1. 隐藏登录界 ...
- Python shelve 模块
使用json或者pickle持久化数据,能dump多次,但load的话只能取到最新的dump, 因为先前的数据已经被后面dump的数据覆盖掉了. 如果想要实现dump多次不被覆盖,就可以想到使用she ...