如何判断用户是否为AD域组成员
2009-09-04 11:17
295 查看
如何判断用户是否属于某个域组中成员呢,查了很多资料.下面将找到的资料共享下.
UserisGroupMember(UserLogin, RoleName) 用来判断用户是否为域组成员
注: 由于域组存在嵌套在其他域组的情况,我们需要进行遍历操作.
private static string ADPath = "LDAP://domain";
private static bool UserisGroupMember(string UserLogin, string RoleName)
private static bool MemberisGroupMember(string GroupName, string RoleName)
{
bool isfind = false;
DirectoryEntry entry = new DirectoryEntry(ADPath);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = string.Format("(&(objectClass=group)(CN={0})) ", GroupName);
mySearcher.PropertiesToLoad.Add("memberof");
SearchResult mysr = mySearcher.FindOne();
string memberof;
try
{
if (mysr.Properties.Count > 1) // 返回两个属性,一个是内置的adspath,另一个是PropertiesToLoad加载的
{
foreach (Object myColl in mysr.Properties["memberof"])
{
memberof = myColl.ToString().Substring(3, myColl.ToString().IndexOf(",") - 3);
if (memberof == RoleName)
{
isfind = true;
break;
}
else if (MemberisGroupMember(memberof, RoleName))
{
isfind = true;
break;
}
}
}
}
catch (Exception ex)
{ }
return isfind;
}
参考资料:
/article/5029711.html
UserisGroupMember(UserLogin, RoleName) 用来判断用户是否为域组成员
注: 由于域组存在嵌套在其他域组的情况,我们需要进行遍历操作.
private static string ADPath = "LDAP://domain";
private static bool UserisGroupMember(string UserLogin, string RoleName)
private static bool MemberisGroupMember(string GroupName, string RoleName)
{
bool isfind = false;
DirectoryEntry entry = new DirectoryEntry(ADPath);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.Filter = string.Format("(&(objectClass=group)(CN={0})) ", GroupName);
mySearcher.PropertiesToLoad.Add("memberof");
SearchResult mysr = mySearcher.FindOne();
string memberof;
try
{
if (mysr.Properties.Count > 1) // 返回两个属性,一个是内置的adspath,另一个是PropertiesToLoad加载的
{
foreach (Object myColl in mysr.Properties["memberof"])
{
memberof = myColl.ToString().Substring(3, myColl.ToString().IndexOf(",") - 3);
if (memberof == RoleName)
{
isfind = true;
break;
}
else if (MemberisGroupMember(memberof, RoleName))
{
isfind = true;
break;
}
}
}
}
catch (Exception ex)
{ }
return isfind;
}
参考资料:
/article/5029711.html
相关文章推荐
- 如何判断用户是否为AD域组成员
- 如何判断注册用户是否已经存在(membership验证)
- 基于深度优先的递归判断域用户是否是某个组的成员
- 用JavaScript判断用户输入的数据是否如何要求!
- magento -- magento中如何判断一个用户是否已经登陆
- sharepoint 2010 判断当前用户是否为用户组成员
- 如何接收用户发送的短信验证码,判断是否合法-短信验证码开发10
- 【Unity闲谈】如何判断用户是否在打字?
- 如何判断linux用户是否为root用户
- 如何判断Fragment是否对用户可见
- VFP中如何判断某个用户是否连上SQL
- 用户态程序如何判断一段虚地址空间是否有效
- 如何利用反射判断一个成员是否为某一类型
- web项目如何知道给别人发送的邮箱,判断用户是否读了邮件
- 如何判断用户是否登录
- 如何判断是否丢掉用户请求
- 如何判断用户是否具备管理员权限
- 如何判断用户是否非正常离开聊天室?
- 如何判断用户是否是一个管理员
- js如何判断用户是否是用微信浏览器