尝试在asp web app中获取客户端的当前登录用户名。
我可以获得这样的用户名
<domain_name>/<user>
CCI\Waqar
但我想以这种格式提取客户名称
Waqar.Ahmed/Technology/Lahore
我可以在Localhost上运行时获取它。但是当我在Web服务器上部署包时,它给了我例外。
以下是我可以使用Localhost的代码。
try
{
UserPrincipal userPrincipal = UserPrincipal.Current;
sUser = userPrincipal.DisplayName;
}
catch (Exception ex)
{
return ex.Message.ToString();
}
尝试使用谷歌搜索但没有运气。
答案 0 :(得分:1)
两件事
domain\login
,根据您的示例,不能为xxx / xxx / xxx。您很可能会引用显示名称,和/或部门/位置或用户的其他属性。有关详细信息,请参阅How to get "Company" and "Department" from Active Directory given a UserPrincipal object?。测试和服务器环境之间的区别是由于IIS(或不同的web.config)上使用的不同帐户。检查IIS设置,并尝试使用域上下文,例如
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal userPrincipal = UserPrincipal.Current;