我使用方法UserPrincipal.Current.ToString()在域中获取当前登录域用户与有效域.但是当我在一个字符串中显示它时,它在IIS服务器中托管时出现错误:
Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal' to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.
解决方法
@H_502_7@ 我有同样的问题.它在我的本地机器上完美工作,但在服务器上部署到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.