我正在开发一个内部网应用程序。该应用程序正在Windows服务器2008上的IIS上工作。我正在使用C#编写ASP.NET。
所以,我只想允许属于OU ICT的域用户。 我不想要登录表单,只需要自动身份验证。
Sql Server Reporting Services的工作原理如下。用户无需登录,安全性基于AD。 - >正是我在寻找的东西。
我尝试了几种方法,比如WidowsImpersonationContext,我在OU上遇到了死胡同。
如果有人可以帮助我,我会非常感激。
解决了我检查用户是否在群组中的部分/ ou。
问候,杰夫
答案 0 :(得分:2)
我不确定OU和群组之间的混合,但是以下内容可能会对您有所帮助:
参考System.DirectoryServices.AccountManagement,
var pc = new PrincipalContext(ContextType.Domain);
var user = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName,"DOMAIN\\USER");
var g = System.DirectoryServices.AccountManagement.GroupPrincipal.FindByIdentity(pc, IdentityType.DistinguishedName, "Everyone");
var check = user.IsMemberOf(g);
HTH 多米尼克