[英]Active Directory Group and C# webpage configuration
我想只允許Active Directory組中的成員訪問C#網頁。 有人可以指出我的方向還是提供協助?
提前致謝
您可以查詢AD以查看用戶所屬的組。
這是一個很好的資源: http : //www.codeproject.com/KB/system/everythingInAD.aspx#39
這樣的事情也應該起作用:
using System.DirectoryServices.ActiveDirectory;
using System.DirectoryServices;
public bool IsUserInGroup(string group, string user)
{
string DomainName="";
string ADUsername="";
string ADPassword="";
DirectoryEntry entry=new DirectoryEntry(LDAPConnectionString, ADUsername, ADPassword);
DirectorySearcher dSearch=new DirectorySearcher(entry);
dSearch.Filter="(&(objectClass=user)(userPrincipalName=" + user + ")";
foreach(SearchResult sResultSet in dSearch.FindAll())
{
string strGroupList=GetProperty(sResultSet, "memberOf");
if(!string.IsNullOrEmpty(strGroupList) && strGroupList.IndexOf(group)>-1)
return true;
}
return false;
}
我沒有時間檢查甚至編譯,因此對於任何錯誤我都表示歉意。 foreach
的if
可能不足。 也許還有一種更有效的查詢方法,但這是我可以很快想到的。
存在多種方法。
強制性地,您可以檢查Page.User.IsInRole(@“ domain \\ group”),然后重定向,發送401響應,或者如果用戶不具有訪問權限,則引發異常。
聲明性地,您可以在web.config中控制權限 :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.