【问题标题】:How to achieve windows authentication in asp.net mvc?如何在asp.net mvc中实现windows认证?
【发布时间】:2013-02-20 14:01:21
【问题描述】:

我们正在 APS.NET MVC4 中实现一个必须在 Intranet 上运行的网站。我们需要使用 Active Directory (LDAP) 进行 Windows 身份验证。当我将身份验证模式从 Forms 更改为 windows 时,应用程序会自动记录,而无需登录页面中的明确用户名和密码。

如何实现windows认证,在哪个登录页面接受用户名和密码并进行验证? 如果有任何示例,请提供给我...非常感谢任何帮助。

提前致谢

【问题讨论】:

  • 您似乎对什么是 Windows 身份验证感到困惑。

标签: asp.net asp.net-mvc iis-7


【解决方案1】:

您可以启用 FormsAuthentication,然后添加以下成员资格提供程序:

<connectionStrings>
    <add name="ADConnectionString" connectionString="YOUR AD CONNECTION STRING" />
</connectionStrings>

然后:

<system.web>
    <authentication mode="Forms">
        <forms loginUrl="~/Account/LogOn" />
    </authentication>
    <membership defaultProvider="MY_ADMembershipProvider">
        <providers>
            <clear />
            <add name="MY_ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName" />
        </providers>
    </membership>
</system.web>

【讨论】:

  • 不,这将是表单身份验证,但授权逻辑将使用 Active Directory 对用户进行身份验证和授权,因为自定义成员资格提供程序。
  • @user1952461 Windows 身份验证意味着它使用您的 Windows 登录来针对应用程序进行身份验证。他们登录到他们的 Windows 机器/域,并且由于他们是通过这种方式进行身份验证的,因此他们不需要登录到网站,因为它信任该帐户。
【解决方案2】:

您所做的方法似乎是正确的。

在 Windows 身份验证中,如果您尝试从同一台机器加载页面,您将自动登录。但是,如果您尝试从另一台机器登录,它会要求您提供 Windows 凭据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 2019-05-19
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    相关资源
    最近更新 更多