Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个行为类似于Active Directory的C#库';用户的权限和组?_C#_Permissions_Active Directory_Authorization_Usergroups - Fatal编程技术网

是否有一个行为类似于Active Directory的C#库';用户的权限和组?

是否有一个行为类似于Active Directory的C#库';用户的权限和组?,c#,permissions,active-directory,authorization,usergroups,C#,Permissions,Active Directory,Authorization,Usergroups,我喜欢Active Directory中权限和组的工作方式,但我不想将我的应用程序与AD绑定在一起 是否有一个现有的库包含与AD相同的功能?特别是创建组、将用户分配给组、向组添加权限以及查看用户或组的应用权限的能力?您可以设置免费LDAP服务器,例如,并使用它来访问它,还可以使用任意数量的服务器来管理LDAP目录。需要一些配置 使用标准目录服务的优势在于有过多的管理工具和支持任意数量应用程序的能力。缺点是学习管理和查询目录。你有什么特别的理由不想使用广告吗?如果你在Windows上工作,我强烈建

我喜欢Active Directory中权限和组的工作方式,但我不想将我的应用程序与AD绑定在一起


是否有一个现有的库包含与AD相同的功能?特别是创建组、将用户分配给组、向组添加权限以及查看用户或组的应用权限的能力?

您可以设置免费LDAP服务器,例如,并使用它来访问它,还可以使用任意数量的服务器来管理LDAP目录。需要一些配置


使用标准目录服务的优势在于有过多的管理工具和支持任意数量应用程序的能力。缺点是学习管理和查询目录。你有什么特别的理由不想使用广告吗?如果你在Windows上工作,我强烈建议你使用它,而不是反对意见

如果广告对您来说太重,您可以使用ADAM,这是一个轻广告,您可以使用后者提供的ADSI Edit进行配置。这里提供了a,c等等

此外,您还可以使用相同类型的.NET API(例如)浏览ADAM。

可能可以用作Active directory的包装器

它包含一个API,用于编程以请求权限

还有一个gui(azman.msc),您可以在其中定义角色和映射权限,并将它们存储在xml文件中

可以针对Active Directory进行配置。

两件事

第一名:

如果要与目录交互,必须在LDAP API的顶部编程。据我所知,ADSI是在LDAP之上工作的,但它似乎并不像Active Directory那样独立。我认识那个发起编辑的诺维尔

秒:

权限,我的意思是访问控制列表(ACL)是一个非标准特性。在Active directory中实现权限的方式不同于 它们在Sun e-Directory(特殊属性)中实现。例如,在OpenLDAP中,权限是在一种访问过滤器中实现的


我可能(希望)是错的,但我从未听说有一个库在目录中联合了权限。

我读过的一个库是。它似乎可以处理业务操作的身份验证和授权,可能值得一看。不过我还没有真正实现它,所以我不知道它的工作情况如何。

您可以使用授权管理器(AzMan)来实现它,它是Windows Server的一部分。要从.NET与它集成,Enterprize Library 5具有您可以使用的类库类型。

ActiveDirectoryMembershipProvider类继承MembershipProvider

这意味着您不必将应用程序绑定到AD本身,而是绑定到MembershipProvider模型。此模型在整个.net中使用,并与内置控件和类配合使用

这是一个样本

//Any of these will work
ActiveDirectoryMembershipProvider provider = new ActiveDirectoryMembershipProvider();
//SqlMembershipProvider provider = new SqlMembershipProvider();
//MyCustomMemebershipProvider provider = new MyCustomMemebershipProvider();

MembershipProvider membershipProvider = provider;

if (membershipProvider.ValidateUser("username", "password"))
{
    MembershipUser user = membershipProvider.GetUser("username", true);
}
else
{
    //Do something
}

我不是该模型的专家,但在对会员资格提供商进行分类和实施IPrincipal、IIdentity等方面有一定的经验。这样做非常灵活,并保持了一致的体系结构

现有的提供商模型如何@Charlie谢谢,但我希望管理业务规则,而不仅仅是处理授权。我知道,我以前使用RoleProvider来完成这项工作,然后在服务层中使用属性标记方法,以要求执行特定的角色。也可以在viewmodel中标记可见的道具以显示或隐藏。