Intranet的域用户自动身份验证

时间:2011-06-21 08:42:12

标签: c# asp.net iis reporting-services

我正在开发一个内部网应用程序。该应用程序正在Windows服务器2008上的IIS上工作。我正在使用C#编写ASP.NET。

所以,我只想允许属于OU ICT的域用户。 我不想要登录表单,只需要自动身份验证。

Sql Server Reporting Services的工作原理如下。用户无需登录,安全性基于AD。 - >正是我在寻找的东西。

我尝试了几种方法,比如WidowsImpersonationContext,我在OU上遇到了死胡同。

如果有人可以帮助我,我会非常感激。

解决了我检查用户是否在群组中的部分/ ou。

但是如果没有登录,我无法从客户端计算机上获取Windows用户。

问候,杰夫

1 个答案:

答案 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 多米尼克