其他分享
首页 > 其他分享> > 枚举活动目录上的用户需要什么安全权限

枚举活动目录上的用户需要什么安全权限

作者:互联网

系统规格:

>带有C#代码的Infopath 2007
>网络服务
>活动目录

我需要从活动目录中获取用户名(名字和姓氏),但是该用户似乎没有读取活动目录列表的权限.

我需要授予用户什么权限才能使他们搜索广告

我正在使用这样的代码

 SearchResult result;
 using (DirectoryEntry de = new DirectoryEntry("LDAP://DC=contoso,DC=com,DC=au"))
 {
     DirectorySearcher search = new DirectorySearcher(de, (string.Format("(&(objectClass=user)(mailNickname={0}))",this.Application.User.UserName)));
     result = search.FindOne();
 }

我曾考虑过创建一个获取所需信息的Web服务,但这似乎有点过头了,但是可以避免必须确保每个可能的表单用户都具有正确的权限

编辑:
我试图执行的代码是后面的信息路径代码.表单本身连接到Web服务以检索其某些数据.因此,它处于infopath的安全模型下.该表单是完全受信任的,因此可以在当前用户上下文下执行.
  我的错是没有添加额外的细节.

解决方法:

当您创建新的DirectoryEntry而不指定用户名和密码时,您将使用执行用户的凭据连接到Active Directory-在您的情况下,可能是Web服务器上的本地IUSR _…-帐户,这是在以下情况下使用的默认帐户在IIS中设置了一个新的网站.因为这是一个本地帐户,所以您将无法访问Active Directory.

您有两种选择:

>在Active Directory中创建一个服务帐户并明确使用该帐户,即DirectoryEntry de = new DirectoryEntry(“ LDAP:// DC = contoso,DC = com,DC = au”,“ sa-username”,“ sa-password” ,AuthenticationTypes.Secure).当然,在代码中使用明文形式的密码不是一个好主意,因此请找到一种对密码进行加密的方法.

要么

>为您的网站(IIS 6)配置IIS应用程序池,使其在域用户帐户下运行-这样,在连接到Active Directory时将使用该帐户.

标签:active-directory,infopath,c
来源: https://codeday.me/bug/20191107/2002408.html