表单身份验证:“无法联系到服务器”

本文关键字:联系 服务器 身份验证 表单 | 更新日期: 2023-09-27 18:16:03

我将以下内容添加到web中。我想要登录的应用程序的配置:

<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服务器或重新安装登录应用程序。

我真的不知道从哪里开始解决这个问题。任何帮助,这将是非常感激!

表单身份验证:“无法联系到服务器”

我假设您在域中有多个域控制器?如果是这样,听起来其中一个可能就是你的罪魁祸首。我的建议是,下次发生这种情况时,从受影响的服务器收集网络跟踪并重现问题。如果有DNS或连接问题,我不会感到惊讶。