可以';无法使WindowsPrincipal.IsInRole(“域组名”)正常工作
本文关键字:组名 工作 常工作 WindowsPrincipal 可以 IsInRole | 更新日期: 2023-09-27 18:20:48
我有一个WPF应用程序,需要确定当前用户是否是AD组的成员。
我在AD"树"中的以下位置创建了AD组"TestGroup":
应用程序/共享/组/TestGroup
我正在VS 2010下测试该应用程序,作为我的域登录名运行,它是TestGroup的成员(是的,自从我加入该组以来,我已经注销/登录了)。
我的域名是ABC。
我首先通过以下操作获得WindowsPrincipal:
if(!Thread.CurrentPrincipal.Identity.IsAuthenticated)Thread.CurrentPrincipal=新的WindowsPrincipal(GetWindowsIdentity());
(BTW总是调用GetWindowsIdentity()。。。这会是问题吗?)
然后我做:
_windowsPrincipal.IsInRole(@"ABC'TestGroup")
其总是返回false。
我是否将正确的字符串传递给IsInRole?或者我需要指定AD"树"的完整路径,比如:@"ABC''Apps''Shared''Groups''TestGroup"(我几乎尝试过每种排列)。或者这个问题可能是由VS下的调试运行引起的?
或者????
谢谢!
DadCat
根据我的评论:问题似乎不在代码中。相反,自从我加入团队后,我就没有重新启动过。我原以为只需要注销/登录("注销/登录"),但显然需要完全重新启动。也许这是Win8的一个新"功能"。