【发布时间】:2023-03-13 22:18:01
【问题描述】:
我正在开发一个 asp.net mvc web 应用程序,并且我已将以下提供程序添加到我的 asp.net web.config:
<system.web>
<membership>
<providers>
<add name="TestDomain1ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider,System.Web, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,Version=4.0.0.0" connectionStringName="TestDomain1ConnectionString" connectionUsername="ad-domainA.intra\it360ad.user" connectionPassword="$$$$$3" />
</providers>
</membership>
&
<add name="TestDomain1ConnectionString"
connectionString="LDAP://10.211.12.30.ad-domainA.intra/CN=Users,DC=ad-domainA,DC=intra" />
但是当用户尝试访问应用程序并输入用户名和密码时,这将引发以下异常:
无法与服务器建立安全连接
那么可能是什么问题?并且像我一样在连接字符串中包含我的服务器IP地址是否正确?
编辑
我将设置更改为:
<system.web>
<trust level="Full" originUrl="" />
<membership>
<providers>
<add name="TestDomain1ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider,System.Web, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,Version=4.0.0.0" connectionStringName="TestDomain1ConnectionString" connectionUsername="it360ad.user" connectionPassword="$$$$$" />
</providers>
</membership>
&
<add name="TestDomain1ConnectionString"
connectionString="LDAP://ad-domainA.intra/OU=TM,DC=ad-doaminA,DC=intra" />
但目前有以下检查
if(domainProvider.ValidateUser(model.UserName, model.Password)
在Account控制器里面的action方法会返回
提供的用户名或密码不正确
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
MembershipProvider domainProvider;
domainProvider = Membership.Providers["TestDomain1ADMembershipProvider"];
// Validate the user with the membership system.
if (domainProvider.ValidateUser(model.UserName, model.Password))
{
//code goes here
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
你能告诉我为什么验证总是失败吗?
谢谢
【问题讨论】:
-
您在
LDAP://之后定义的服务器是奇数 - 要么 您应该使用像10.211.12.30这样的 IP 地址,或者 您应该使用像ad-domainA.intra这样的符号名称 - 但你不能同时使用两者..... -
但是“ad-domianA.intra”是域名,而IP是安装AD的服务器。那为什么我不能同时使用两者?
-
IP 已经清楚且唯一地标识了您要连接的单台机器。 IP地址不用加域名.....
-
非常感谢您的帮助,目前异常已消失,但身份验证检查总是会失败。你能检查我的编辑吗?
标签: asp.net asp.net-mvc active-directory ldap