繁体   English   中英

ASP.NET表单身份验证+ NTLM + LDAP

[英]ASP.NET Form Authentication + NTLM + LDAP

我正在尝试将LDAP支持添加到使用表单身份验证的现有ASP.NET网站。 这不是一个大问题,我只是构建一个简单的登录对话框(普通HTTP POST),查询LDAP目录并通过表单身份验证票据登录用户。

通过NTLM(集成Windows身份验证)自动获取用户凭据非常好,而无需登录对话框(就像使用ASP.NET Windows身份验证与同一Active Directory中的计算机一样)。 有没有一种简单的方法可以做到这一点(请记住,我不能使用Windows身份验证为我的ASP.NET应用程序和服务器不在Active Directory域,我需要能够手动查询LDAP目录)? 或者我是否必须手动完成所有LDAP握手/挑战/响应?

谢谢你的帮助,~saxx

我在这里的内联网上这样做。 这些是我使用的步骤......

  • 创建一个登录页面(login.aspx看起来不错)并设置Web应用程序以进行表单身份验证。 将授权设置为拒绝匿名。 这意味着,如果用户没有身份验证票,任何使用您应用的尝试都会导致用户被重定向到您的登录页面。
  • 现在是重要的一步。 在IIS中,将应用程序设置为仅允许匿名。 在您的登录页面上,将其更改为仅Windows集成。 现在发生的情况是当用户退回到您的登录页面时,IIS强制进行NTLM身份验证。 我们现在在标题中有用户名。
  • 第二个重要步骤。 在page_load方法中添加:

    FormsAuthentication.RedirectFromLoginPage(Request.ServerVariables["Logon_user"], false); 这样做是使用IIS将始终提供给我们的用户名并将其放入表单身份验证票证中。

当然,您可能想要做一些整理,可能会添加注销功能,或者剥离用户名的域名。

西蒙

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM