【问题标题】:ASP.NET Web Pages and AD MembershipASP.NET 网页和 AD 成员资格
【发布时间】:2013-08-08 17:28:08
【问题描述】:

是否可以使用 asp.net 的网页风格来验证具有 Active Directory 成员资格的用户?从我在网上看到的大多数示例中,我注意到网页使用简单的会员提供程序。

【问题讨论】:

    标签: c# asp.net .net asp.net-membership membership-provider


    【解决方案1】:

    我过去曾成功使用此设置在 .net 网页上使用 Active Directory 进行身份验证:http://msdn.microsoft.com/en-us/library/ff650308.aspx

    更新:

    上一个链接适用于“Web 表单”/framework 2.0。这似乎相当于“网页”:http://www.mikesdotnetting.com/Article/216/Windows-Authentication-With-ASP.NET-Web-Pages

    我从未使用过为网页描述的方法,但是查看代码并比较它,它似乎在做同样的事情,即禁用默认的 SimpleMembership 身份验证并改用 AD。希望这会有所帮助。

    【讨论】:

    • 是的,但我使用的是 asp.net 网页技术而不是 Web 表单。 asp.net/web-pages
    • 抱歉,我什至不知道官方有一个叫做“ASP.NET 网页”的东西。我更新了答案。
    【解决方案2】:

    如果您尝试在带有表单身份验证的 asp.net 应用程序中使用自定义登录页面,则可以非常轻松地使用 AD。在 Web.config 中的表单身份验证下,放置下面列出的成员资格提供程序。 然后在您的 connectionStrings 中,将 AD 服务连接与您的信息放在下面。之后,由于您将拥有更多页面,因此您要确保它们不能只是简单地导航到这些页面。通过使用 .然后,任何拥有 Active Directory 帐户的人都可以访问该站点。建议使用角色来拒绝用户访问网站的某些部分。您还可以将身份验证模式从“表单”更改为“Windows”,这使用 AD 登录。我需要它更安全一些,因为我公司的某些人不需要查看此网站。为此,我根据 SQL 数据库验证用户名。只要用户名与数据库中的用户名匹配,就可以登录。希望对您有所帮助!

    <membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
      <providers>
        <clear />
        <!--Membership provider for Active Directory-->
        <add name="AspNetActiveDirectoryMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider,  System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADService" attributeMapUsername="sAMAccountName"/>
      </providers>
    </membership>
    
    
    <connectionStrings>
        <add name="ADService" connectionString="LDAP://YOURDOMAINNAME/OU=YOURORGANIZATIONALGROUP,DC=YOURDOMAINCONTROLLER,DC=net" />
      </connectionStrings>
    
    
    //This deny's all users who do not have an AD account. 
    <location path="Default.aspx">
        <system.web>
          <authorization>
            <deny users="?" />
          </authorization>
        </system.web>
      </location>
    

    【讨论】:

    • 这应该可以。它使用 web.config 进行身份验证。因此,只要您使用带有您的 asp.net 网页的 web.config。 web.config 是 xml,所以我看不出它不起作用的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多