我使用
方法UserPrincipal.Current.ToString()在域中
获取当前
登录域
用户与有效域.但是当我在一个字符串中
显示它时,它在
IIS服务器中托管时出现
错误:
Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal'
to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.
我有同样的问题.它在我的本地机器上完美工作,但在服务器上部署到IIS时失败.最后我不得不改变两件事情来使它工作:
>将验证更改为“Windows身份验证”(how-to)
>而不是使用当前,分两步做:(source)
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
X-4545 X-4545 X-4545 X-4545 X- 20045 X-4545 X- 20045 X- 20045 X- 20045 X-4545
最后得到这个名字(或任何其他信息),我使用了user.DisplayName.