我收到令牌并进行身份验证,但是它提供了用户错误和密码。
答案 0 :(得分:1)
LogonUser()
确实获得了所需帐户的身份验证票,但不会更改当前进程的上下文。该进程仍以IIS中配置的用户身份运行,而 still 仍可能无法访问caneles03
计算机。
具体来说,看看LogonUser()
documentation,它仅在第三句话中表示:
您不能使用 LogonUser 登录到远程计算机。
如果希望网页访问该计算机,则需要配置IIS以始终使用具有所需访问权限的专用帐户来运行该网站,或者使用ASP.Net Impersonation或开始一个全新的过程以所需的用户帐户运行,可以为您访问网络共享。
答案 1 :(得分:0)
查看您的代码后,我可以看到您正在尝试一种称为“ IIS双跳”的方法。出于安全考虑(出于充分原因)。您将需要在IIS服务器和目标服务器之间设置Kerberos信任。
没有Kerberos信任,Windows安全将阻止您的身份验证,因为它看起来像是黑客的尝试。
就这样,您就知道要进入什么领域,Kerberos信任有点复杂,但是在Internet和StackOverflow上有很多关于如何做到这一点的好信息。