QNetworkAccessManager发出
authenticationRequired (QNetworkReply*, QAuthenticator*)需要身份验证时发出信号。这可用于基本身份验证。
但是如何让Qt程序与服务器进行NTLM身份验证呢?我在任何地方都找不到这样的例子。
发布于 2013-07-25 20:36:29
我不能让它在Qt 4.8上工作,但在Qt 5.1上它可以工作。在这种情况下,QAuthenticator的工作非常糟糕。如果要在处理authenticationRequired信号的插槽中手动设置用户名和密码:
onAuthenticationRequired (QNetworkReply*, QAuthenticator* auth)
{
auth->setUser("username");
auth->setPassword("password");
} 但是,如果要使用当前Windows用户登录,则需要将用户名设置为空字符串:
onAuthenticationRequired (QNetworkReply*, QAuthenticator* auth)
{
auth->setUser("");
} 注意:这个插槽将被调用4次,即使用户被授予访问权限。如果用户需要提供凭据,这尤其令人沮丧。此外,QAuthenticator不提供任何公共方法来确定实际使用的是哪种身份验证方法。
https://stackoverflow.com/questions/14706851
复制相似问题