VMware vSphere Web Services SDK编程指南(八)- 8.6 通过 SessionManager 认证用户

来源:互联网 发布:乐视手机怎么改mac 编辑:程序博客网 时间:2024/06/04 00:47

8.6 通过 SessionManager 认证用户


本章包括以下主题:

■ 8.1 认证和授权管理的相关对象
■ 8.2 ESXi 和 vCenter 服务器的认证和授权
■ 8.3 从 UserDirectory 获取用户和组信息
■ 8.4 使用 HostLocalAccountManager 管理 ESXi 用户
■ 8.5 使用 AuthorizationManager 管理角色和权限
8.6 通过 SessionManager 认证用户
■ 8.7 使用凭据库(Credential Store)自动登录
■ 8.8 使用 LicenseManager 管理许可证

本小节从第6节开始


SessionManager 托管对象控制用户访问服务器,SessionManager 包含登录服务器、获取一个 session 和退出的方法。
SessionManager 定义了许多对象的生命周期和可见性。
特定于会话的对象在创建它们的会话之外是不可见的。


注意:每个用户会话使用系统资源及在服务器端创建锁,太多的并发会话会减慢服务器的速度。默认情况下,vCenter 服务器在30分钟后终止一个会话。


当成功认证用户帐户,SessionManager 返回一个 UserSession 数据对象给客户端应用程序,该会话在会话期间与用户帐户相关联。
客户端应用程序可以将会话本地化保存到一个安全文件中,并在稍后重用会话以重新连接到服务器。
你也可以配置 ESXi 或 vCenter 服务器系统来支持本地会话,这使得在主机上具有凭证的用户可以基于这些权限登录服务器。

SessionManager 提供如下功能:

登录和退出
    基本的操作,登录 ESXi 或 vCenter 服务器系统、获取一个 session、退出。
    当会话终止时,所有特定于会话的对象被销毁。

模拟(Impersonation)
    一个用户 session 采用另一个用户 session 授权级别。
    在基于Web的场景中,模拟是常见的,一个中间层应用程序充当与其他后端服务器或进程交互的中心帐户的角色。当代表客户端访问资源时,Windows 服务模拟一个客户端。
    SesssionManager 通过它的 ImpersonateUser 方法支持模拟。

代理
    一个运行的客户端应用代表一个本地用户可用调用 SessionManager.AcquireLocalTicket 方法获取一个用于登录的一次性用户名和密码。
代理对于在本地控制台中运行的实用程序(基于主机的)非常有用。

如果与 session 关联的用户账户没有执行操作的所需权限,AuthorizationManager 返回一个 NoPermission 错误给客户端应用程序。

8.6.1 在 vCenter 服务器会话上使用 VMware 单点登录

vSphere 支持 vCenter 服务器客户端认证的单个点进行单点登录。
要使用 VMware 单点登录,你的 vSphere Web Services SDK 客户端需连接到 VMware SSO 服务器获取一个 SSO 令牌。你的客户端包含一个在 SessionManager.LoginByToken 请求开启 vSphere session 的令牌。




原文:
VMware vSphere 6.5 Documentation Center:Authenticating Users Through SessionManager

阅读全文
0 0
原创粉丝点击