活动目录+ HTTP身份验证

问题描述:

好吧,我正在研究一个asp.net web应用程序,用于内部跟踪我们的工作人员在校园外面以及他们在做什么。活动目录+ HTTP身份验证

我们目前使用的系统使用“NoSQL”表(它不是100%熟悉的),但它是使用cgi脚本的旧系统。所以我在asp.net中重写它以更新系统,使其更具现代感,采用现代设计,并为其添加了Active Directory身份验证,因为它使用自己的用户数据库,与我们在其他地方使用的独立于AD的用户数据库分开。

我发现了一篇文章enable Active Directory Authentication通过web.config,但是,我宁愿不使用表单身份验证,我想将它绑定到HTTP提示进行身份验证。我尝试了一些Google搜索来尝试寻找解决方案,但我似乎无法找到那些之前完成此操作的人。

在此先感谢。

首先,如果你打算用自己的域凭据进行身份验证的人,你应该确保使用HTTPS否则他们的密码将使用容易获得的网络嗅探器。

好吧,所以你在说什么是Windows身份验证模式在ASP.NET与IIS基本身份验证。您需要在您的web.config中配置以下内容:

<configuration> 
    <connectionStrings> 
    <add name="ADConnectionString" connectionString="LDAP://your.ad.fqdn.com/DC=com,DC=fqdn,DC=ad,DC=your"/> 
    </connectionStrings> 
    <system.web> 
    <membership defaultProvider="ADMembershipProvider"> 
     <providers> 
     <add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" connectionUsername="MYNTDOMAIN\someuser" connectionPassword="asdf1234"/> 
     </providers> 
    </membership> 
    <authentication mode="Windows"/> 
    </system.web> 
</configuration> 

接下来,您将要为基本身份验证配置IIS。假设您正在运行IIS 7.x,请在IIS管理器中找到您的应用程序的根文件夹,然后单击身份验证。您应该能够在此处启用基本身份验证。您还可以启用Windows身份验证以允许IE/Chrome用户自动登录:

Basic Authentication in IIS 7

Windows身份验证通常是透明的(他们会自动使用登录到Windows的凭据进行身份验证)。如果您希望他们被迫输入凭据,则您的页面需要返回401 HTTP状态代码。

这听起来像你想在你的ASP.NET应用程序中启用Windows身份验证,而不是表单身份验证。它基本上涉及将web.config中的身份验证类型从“Forms”更改为“Windows”,然后在IIS中设置用户/组权限。以下链接详细介绍了这些变化。

更多信息:

MSDN Article on Windows Authentication in ASP.NET