Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/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 mvc Active Directory成员资格提供程序-如何在此基础上展开?_Asp.net Mvc_Visual Studio 2010_Active Directory_Asp.net Membership - Fatal编程技术网

Asp.net mvc Active Directory成员资格提供程序-如何在此基础上展开?

Asp.net mvc Active Directory成员资格提供程序-如何在此基础上展开?,asp.net-mvc,visual-studio-2010,active-directory,asp.net-membership,Asp.net Mvc,Visual Studio 2010,Active Directory,Asp.net Membership,我正在努力通过广告会员提供商安装并运行一个MVC应用程序,我在解决这个问题时遇到了一些问题。我有一个基本配置设置,当我以foo@my.domain.com+密码 <connectionStrings> <add name="MyConnString" connectionString="LDAP://domaincontroller/OU=Product Users,DC=my,DC=domain,DC=com" /> </connectio

我正在努力通过广告会员提供商安装并运行一个MVC应用程序,我在解决这个问题时遇到了一些问题。我有一个基本配置设置,当我以foo@my.domain.com+密码

   <connectionStrings>
      <add name="MyConnString" connectionString="LDAP://domaincontroller/OU=Product Users,DC=my,DC=domain,DC=com" />
   </connectionStrings>

  <membership defaultProvider="MyProvider">
     <providers>
        <clear />
        <add name="MyProvider" connectionStringName="MyConnString"
             connectionUsername="my.domain.com\service_account"
             connectionPassword="biguglypassword"
             type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
     </providers>
  </membership>

然而,我想做一些其他的事情,我不知道如何去做

  • 不键入域即可登录(即“@my.domain.com”)。我意识到,只有当我将自己限制在一个领域时,这才可能起作用——这很好
  • 在单个OU中最多可将用户组织在N个不同的OU中。从我当前的连接字符串可以看出,我正在验证我的
    产品用户
    OU中的用户。我想在这个OU中为不同的公司创建OU,并将用户放入这些OU中。如何跨所有这些不同的OU进行身份验证
  • 我试图弄清楚Active Directory成员资格提供程序如何与配置文件和角色提供程序联系在一起。是否也有这些版本的广告,或者我一直在使用SQL、自制的,或者找到其他人编写的代码

  • 非常感谢

    针对第3点:

    不久前,我回答了一个类似的问题:

    这是一个只读提供程序,只提供了
    IsUserInRole
    GetRolesForUser
    的方法,但可能足以满足您的需要。

    对于第1项,我找到了我的答案。我需要添加
    attributeMapUsername=“sAMAccountName”


    针对第2点:

    我也有同样的问题,所以我所做的就是从连接字符串中删除OU。 大概是这样的:

    <add name="MyConnString" connectionString="LDAP://domaincontroller/DC=my,DC=domain,DC=com" />
    
    
    

    现在,我可以在所有这些不同的OU中对用户进行身份验证。

    Hmm,codeplex项目似乎已被放弃,没有可供下载的版本。可能会有一些有用的代码,但我不确定是否要盲目地将其用于生产。codeproject.com选项看起来更可行。如果可能的话,我想我的答案是“让我们尽量不要为此使用广告”。或者,如果我这样做了,那么就把它用于一个简单的场景,不要太复杂。谢谢就个人而言,我更喜欢它作为源代码,而不是一个我可以“盲目地在生产中使用”的版本至少这样,我可能会对代码进行一次快速检查,而使用dll时,我可能无法打开reflector查看内部情况,除非我无法确定如何使用它:(我知道你是从哪里来的,但我不想把我们使用的所有东西都自制出来。能够购买维护产品并依赖它们确实很好。此外,我只是不确定扩大规模,学习我需要学习的东西,以确定来源是否好,对我来说有多重要。毕竟,广告远不是我的经验rtise和学习这不是我有过的最激动人心的想法…我完全同意购买而不是重写选项-是的,通常最好让其他人了解细节的本质:)也就是说,这可能不激动人心,但环顾四周,这可能是一项有价值的技能;)声称MS没有提供使用AD的角色提供程序是不正确的。他们提供了,它被称为WindowsTokenRoleProvider
    <add name="MyConnString" connectionString="LDAP://domaincontroller/DC=my,DC=domain,DC=com" />