【发布时间】:2014-08-21 07:16:13
【问题描述】:
我有一个在 Citrix 环境中运行的 .Net 应用程序,我需要一种方法来识别使用表单身份验证登录到 citrix 客户端的用户。这可能吗?我看过一些关于 Citrix SDK 的帖子,但不确定是否能解决我的问题...
【问题讨论】:
标签: asp.net forms-authentication citrix
我有一个在 Citrix 环境中运行的 .Net 应用程序,我需要一种方法来识别使用表单身份验证登录到 citrix 客户端的用户。这可能吗?我看过一些关于 Citrix SDK 的帖子,但不确定是否能解决我的问题...
【问题讨论】:
标签: asp.net forms-authentication citrix
我会先说我对 ASP.NET 和表单身份验证几乎一无所知(从简短的谷歌搜索来看,这似乎是在 ASP.NET 中实现自定义身份验证的一种方式)。
任何运行 Citrix 会话的应用程序都可以访问用户的身份。它将已经作为用户的身份运行,因此您可以查询当前的安全主体以查看当前用户是谁。您不需要使用任何特殊的 Citrix SDK。开发人员的一个普遍假设是,一旦他们的应用在 Citrix 下运行,他们就需要做一些特殊的事情。但是,在大多数情况下,您可以像在用户的本地桌面上运行一样开发应用程序,而只需将其部署在 Citrix 服务器上即可。
因此,对于常规的 .NET 桌面应用程序,您可以使用以下属性:Environment.UserDomainName 和 Environment.UserName 来获取有关当前用户的详细信息。其他有趣的东西是 System.Security.Principal.WindowsIdentity,您可以使用 GetCurrent() 静态方法来获取当前用户的身份。
现在,正如我最初所说的,这可能对您的情况有所不同,因为听起来表单身份验证是某种自定义身份验证机制,所以我所说的可能不适用。但希望我给了你一些有用的建议。
【讨论】: