【发布时间】:2014-08-01 14:05:57
【问题描述】:
我将以下内容添加到需要登录的应用程序的 web.config 中:
<authentication mode="Forms">
<forms loginUrl="/forms/Login" name=".ASPXAUTH" timeout="60" slidingExpiration="true">
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
/forms/Login 是一个集中式应用程序,用于对同一服务器上的应用程序进行身份验证。 它有一个简单的 Authentication 类,方法如下:
public static bool AuthenticateUser(String username, String password)
{
bool validated = false;
PrincipalContext pc = new PrincipalContext(ContextType.Domain, "mynet.myad.org", "dc=mynet,dc=myad,dc=org");
validated = pc.ValidateCredentials(username, password, ContextOptions.Negotiate);
return validated;
}
这在大多数情况下都很好用,但有时它似乎“锁定”并且会抛出以下异常:“无法联系服务器。”它将继续抛出该异常,直到我重新启动 Web 服务器或卸载/重新安装登录应用程序。 (我尝试过重启 IIS,但这对它没有影响)。
我相当肯定它不是 AD 服务器,因为相同的登录代码同时继续在其他 Web 服务器上工作。我显然不希望不得不不断地重新启动 Web 服务器或重新安装登录应用程序。
我真的不知道从哪里开始解决这个问题。 对此的任何帮助将不胜感激!
【问题讨论】:
标签: c# asp.net active-directory iis-7.5 forms-authentication