[英]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.