繁体   English   中英

Active Directory组和C#网页配置

[英]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;
} 

我没有时间检查甚至编译,因此对于任何错误我都表示歉意。 foreachif可能不足。 也许还有一种更有效的查询方法,但这是我可以很快想到的。

存在多种方法。

强制性地,您可以检查Page.User.IsInRole(@“ domain \\ group”),然后重定向,发送401响应,或者如果用户不具有访问权限,则引发异常。

声明性地,您可以在web.config中控制权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM