Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
ASP.NET Web窗体应用程序中的Active Directory_Asp.net_Windows Authentication_Directoryservices_Activedirectorymembership - Fatal编程技术网

ASP.NET Web窗体应用程序中的Active Directory

ASP.NET Web窗体应用程序中的Active Directory,asp.net,windows-authentication,directoryservices,activedirectorymembership,Asp.net,Windows Authentication,Directoryservices,Activedirectorymembership,我注意到有几个不同的名称空间/类用于访问Active Directory。使用以下各项之间有什么区别 System.DirectoryServices.AccountManagement System.DirectoryServices.ActiveDirectory System.Web.Security.ActiveDirectoryMembershipProvider AccountManagement下的项目处理各种LDAP类型的数据存储。不仅是Active Directory,还有N

我注意到有几个不同的名称空间/类用于访问Active Directory。使用以下各项之间有什么区别

  • System.DirectoryServices.AccountManagement
  • System.DirectoryServices.ActiveDirectory
  • System.Web.Security.ActiveDirectoryMembershipProvider

AccountManagement下的项目处理各种LDAP类型的数据存储。不仅是Active Directory,还有NDS和WinNT。如果您知道您的备份存储符合LDAP,或者可能在各种LDAP存储之间切换,那么这可能是最好的使用方法

ActiveDirectory
名称空间是专门用于AD的。通常,只有在严格遵守AD环境的情况下,才需要使用此名称空间

ActiveDirectoryMembershipProvider
的焦点稍有不同。这通常被Web应用程序用作成员资格提供者之一。其他成员资格提供程序包括
SqlMembershipProvider
,甚至包括您可能创建的自定义成员资格提供程序。当您的备份存储可能是AD,但也可能在将来更改为使用SQL server或其他随机存储时使用此选项


总之,这一切都归结为你的应用程序目前如何运行以及将来如何发展。如果您有桌面应用程序,请使用
System.DirectoryServices
命名空间。如果您有可能部署到未知环境中的web应用,请使用成员资格提供程序

请注意,我在一些应用程序中结合使用了SqlMembershipProvider和System.DirectoryServices空间。特别是在授权保留在我的应用程序中时,对LDAP存储(AD/NDS)进行身份验证