【发布时间】:2016-01-22 19:29:56
【问题描述】:
我在 Intranet 中的网站(使用 Windows 身份验证)使用一些 DLL 来检查 Active Directory 中的当前用户权限。它使用方法 GetAuthorizationGroups 并完美地工作。 DLL 是大约 10 年前在 VS 2005 中编译的。现在我需要对其代码进行一些更改(未连接到 Active Directory)。我在VS 2012,framework 3.5中打开源代码,编译并复制到网站的服务器上。现在不属于此服务器管理员组的用户收到错误: 在尝试检索授权组时,发生错误 (5) 旧版本的 DLL 或用户是管理员时不会出现错误。 以下是我使用的代码:
PrincipalContext ctx =
new PrincipalContext(ContextType.Domain, domainName,adusername, adpassword);
UserPrincipal 用户 =
UserPrincipal.FindByIdentity(ctx, userID);
PrincipalSearchResult groups = user.GetAuthorizationGroups();
服务器在 Windows Server 2012 下运行。 任何帮助将不胜感激。
【问题讨论】:
-
如果您只在net framework 3.5 中编译这个项目,我建议在.net framework 3.5 中编译整个解决方案并将所有内容一起部署。仅在开发环境中进行测试。
-
该网站也在 3.5 中重新编译。它没有帮助。
-
不属于管理员组的用户会出错,但我认为属于管理员组的用户可以正常工作。对吗?
-
是的,我在我的问题中写了这个。
标签: c# web permissions active-directory