您的位置:首页 > 其它

sharepoint2013 跟着登录用账号判断是否属于某一个AD组

2014-09-24 16:43 211 查看
public static DirectoryEntry GetDirectoryObject()
{
DirectoryEntry oDE;
oDE = new DirectoryEntry(ADPath);
oDE.Username = AdministratorUser;
oDE.Password = AdministratorPassword;
return oDE;
}


public string GetXMl() {
string loginname=SPContext.Current.Web.CurrentUser.LoginName.ToString();
loginname = loginname.Substring(loginname.IndexOf("\\") + 1, loginname.Length - (loginname.IndexOf("\\") + 1));
DirectoryEntry de;
de = GetDirectoryObject();
DirectorySearcher deSearch = new DirectorySearcher();
deSearch.SearchRoot = de;
deSearch.Filter = "(&(objectClass=user)(samaccountname=" + loginname + "))";
SearchResultCollection results = deSearch.FindAll();
de.Close();
if (results.Count > 0)
{
return results[0].Path;
}
else {
return null;
}
}


public bool UserIsExsitGroup(DirectoryEntry de, string GroupName)
{
bool f = false;
DirectorySearcher deSearch = new DirectorySearcher();
deSearch.SearchRoot = de;
deSearch.Filter = "(&(objectClass=group) (cn=" + GroupName + "))";
SearchResult Groupresult = deSearch.FindOne();
if (Groupresult != null)
{
string loginName=GetXMl();
//DirectoryEntry user = GetDirectoryEntry("LDAP://AD服务器地址/" + loginName);
DirectoryEntry user = GetDirectoryEntry(loginName);
if (user != null)
{
DirectoryEntry dirEntry = Groupresult.GetDirectoryEntry();
if (dirEntry.Properties["member"].Contains(loginName.Replace("LDAP://AD服务器地址/","")))
{
f= true;
}
}
user.Close();
}
return f;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐