Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Active Directory中的旧用户名_C#_Wcf_Active Directory - Fatal编程技术网

C# Active Directory中的旧用户名

C# Active Directory中的旧用户名,c#,wcf,active-directory,C#,Wcf,Active Directory,我有带Windows身份验证的WCF服务。为了在服务端识别客户端用户,我使用以下代码:ServiceSecurityContext.Current.PrimaryIdentity.Name 以“domain\janedoe”的形式返回字符串 简·多伊结了婚,改了姓。Active Directory管理员还重命名了她的用户id。因此,现在她以“域\ janesmith”的身份登录AD 我的问题是ServiceSecurityContext.Current.PrimaryIdentity.Name仍

我有带Windows身份验证的WCF服务。为了在服务端识别客户端用户,我使用以下代码:
ServiceSecurityContext.Current.PrimaryIdentity.Name

以“domain\janedoe”的形式返回字符串

简·多伊结了婚,改了姓。Active Directory管理员还重命名了她的用户id。因此,现在她以“域\ janesmith”的身份登录AD

我的问题是
ServiceSecurityContext.Current.PrimaryIdentity.Name
仍然返回旧的-domain\janedoe

关于从何处开始,您有什么建议吗?

使用(免费版本2.6)查看哪些属性可用,以及哪些字段可能已被读取

然后你可以进一步调查;也许她的名字的改变并没有涵盖所有必要的属性

添加:


此外,如果有多个域控制器复制其信息,则可能会有一些延迟,直到它们都具有最新数据。

Active Directory中有一些缓存机制


也许这个链接可以帮助你

我在IIS 6中运行的一个web应用程序也有类似的问题。我唯一能清除缓存的方法就是重新启动服务器。我们的广告管理员完全没有帮助/超出了他的能力范围,因此我最终只是重新编写页面以获取sid。然后,如果需要用户名,我会在sid上执行LDAP查询以获取用户名。

要求管理员尝试此操作。我会回复结果。谢谢,@Ed。否决票可能是因为我没有提供直接的解决方案,只是提供了如何开始寻找解决方案的提示。我发帖只是因为作者要求“…关于从哪里开始的建议…”。谢谢你的建议。我将尝试使用该工具或其他工具。@Taras查找samAccountName属性。管理员重命名广告用户可能没有重命名samAccountName属性。否决票是因为您给出的答案没有提出进一步解决问题的方法,只是听起来像是广告。OP应该知道有微软的免费工具(“管理包”),可以直接查询广告内容。但这不是问题的解决办法。解决方案是清除缓存,假设管理员执行了他的工作。我认为最好建议检查ldap属性作为对该问题的评论。复制问题可能是一个原因,在我看来应该是它自己的答案。我也遇到过同样的问题。我相信DaMoohn提供的链接信息将长期解决这个问题。如果必须快速解决这个问题(并且不需要重新启动服务器),我找到的最快的方法就是通过其他方式刷新缓存。将用户作为用户添加到服务器并让他们通过远程桌面或可能的文件共享对本地资源进行身份验证将更新缓存并允许WCF服务获取正确的帐户信息。