是否可以从.net应用程序中获取Citrix客户端中的用户身份?

时间:2014-08-21 07:16:14

标签: asp.net forms-authentication citrix

我在Citrix环境中运行了一个.Net应用程序,我需要一种方法来识别使用表单身份验证登录到Citrix客户端的用户。这可能吗?我见过一些关于Citrix SDK的帖子,但不确定是否解决了我的问题...

1 个答案:

答案 0 :(得分:1)

我将在我的陈述前言,说我对ASP.NET和表单身份验证几乎一无所知(从简短的Googling看起来似乎是在ASP.NET中实现自定义身份验证的一种方式)。

运行Citrix会话的任何应用都可以访问用户的身份。它将作为用户身份运行,因此您可以查询当前安全主体以查看当前用户是谁。您无需使用任何特殊的Citrix SDK。开发人员普遍认为,只要他们的应用程序在Citrix下运行,他们就需要做一些特殊的事情。但是,在大多数情况下,您可以开发应用程序 - 如果它在用户的本地桌面上运行,而只是将其部署在Citrix服务器上。

因此,对于常规.NET桌面应用程序,您可以使用以下属性:Environment.UserDomainName和Environment.UserName来获取有关当前用户的详细信息。其他感兴趣的东西是System.Security.Principal.WindowsIdentity,你可以使用GetCurrent()静态方法来获取当前用户的身份。

现在正如我刚才所说,这可能与您的情况不同,因为它听起来像表单身份验证是某种自定义身份验证机制,所以我所说的可能不适用。但希望我已经给你一些有用的指示。