枚举活动目录上的用户需要什么安全权限
作者:互联网
系统规格:
>带有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