【问题标题】:AcceptSecurityContext random SEC_E_LOGON_DENIEDAcceptSecurityContext 随机 SEC_E_LOGON_DENIED
【发布时间】:2012-12-05 10:02:25
【问题描述】:

我正在尝试在基于 http.sys 的服务器中实现单点登录(使用 IOCP),但我遇到了 AcceptSecurityContext 的奇怪问题,它会随机失败并出现 SEC_E_LOGON_DENIED。

当从同一台客户端机器连接到同一台服务器机器时(大约 50% 的时间),即使只有一个客户端只有一个 http 连接,我也会随机出现故障。两台机器都在同一个域中,它们都不是域控制器。

失败的调用是挑战-响应序列中的第二个(也是最后一个)调用,第一个总是成功的。

当我在 AcceptSecurityContext 调用之前在 IDE 中有一个断点时(没有其他任何更改),身份验证总是成功(据我测试)。

怀疑时间问题,我在调用前放置了一个 Sleep(),但这并没有提高成功率。

此外,当从运行 http 服务器的同一台计算机连接时,身份验证始终成功。

无论客户端浏览器(IE 和 Chrome)如何,行为都是相同的。

有什么想法吗?

【问题讨论】:

    标签: http authentication single-sign-on sspi


    【解决方案1】:

    问题发现并解决,与base64数据的解码问题有关,一个字符('+')被错误地转换为空格'',因此问题仅在该字符存在时出现。

    为什么在设置调试器断点或从本地连接时它没有发生,但尚不清楚......也许是存储在那里的一些计时元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      相关资源
      最近更新 更多