2013-02-20 73 views
1

我们正在APS.NET MVC4中实施一个必须在Intranet上运行的网站。我们需要使用Active Directory(LDAP)进行Windows身份验证。当我从身份验证模式更改窗口,应用程序日志自动登录页面没有明确的用户名和密码。如何在asp.net mvc中实现windows身份验证?

如何实现Windows身份验证,其中登录页面接受用户名和密码,并应验证? 请给我,如果有任何例子...任何帮助非常感谢。

在此先感谢

+2

您似乎对Windows身份验证是什么感到困惑。 – Dismissile 2013-02-20 14:11:28

回答

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> 
+0

它会是Windows认证?现在我只是这样做.. – user1952461 2013-02-20 14:47:31

+0

不,它将是表单身份验证,但授权逻辑将使用Active Directory来鉴定和授权用户,因为自定义成员资格提供程序。 – 2013-02-20 15:04:54

+2

@ user1952461 Windows身份验证意味着它使用您的Windows登录来针对应用程序进行身份验证。他们登录到他们的Windows机器/域,并且由于它们以这种方式进行身份验证,所以他们不需要登录到网站,因为它信任该帐户。 – Dismissile 2013-02-20 15:44:15

0

你没有已经的方法似乎是正确的。

在Windows身份验证中,如果您尝试从同一台计算机加载页面,您将自动进行登录。但是,如果您尝试从另一台计算机登录,它会询问Windows凭据。