c# - 自定义凭据提供程序和远程桌面 session

标签 c# authentication remote-desktop credential-providers

所以我开发了一个自定义身份验证提供程序,(为了大大简化事情)用他们不知道的完全随机的密码替换当前用户的密码。在身份验证过程中,使用一些 wizzy 加密,密码将重新生成并通过 Kerberos 身份验证过程传递,以替换他们可能自己输入的任何密码(被忽略)。我不能详细说明它是如何工作的,但无论如何它确实在本地工作。我的想法是在云中运行 Windows Server 2012 的机器上使用它,但我遇到了问题并遇到了这篇文章,

http://blogs.msdn.com/b/winsdk/archive/2009/07/14/rdc-and-custom-credential-providers.aspx

据此,支持非 Microsoft 凭据提供程序,这是事实,它显示我的凭据提供程序,尽管是通过外观不同的 UI。它还指出,在我的凭据提供程序完成后,它将提示使用用户的用户名和密码再次登录。

当然,在这种情况下不会发生这种情况,因为用户不知道而且永远也不会知道他们的密码。另外,出于某种原因,它无论如何都没有给我第二个提示,远程桌面窗口只是在我的身份验证提供程序完成时关闭,并且错误被写入事件日志中,提示未知用户或错误密码。这些都不应该是正确的,并且如前所述,该提供程序 100% 的时间都在本地工作,所以我知道它在工作并且已经对其进行了广泛的调试。

所以我想我的问题是,有什么方法可以实现我所追求的目标吗?甚至通过黑客攻击,做一些通常不会做的事情?

非常感谢。

最佳答案

好的,所以对我来说最快、最简单的解决方案是在服务器上安装 SplashTop 流媒体并使用 SplashTop 而非 RDP 进行连接。这将调出本地风格的登录 UI,它完全按照我的期望工作。它确实每月花费 2 美元,但这还算不上倾家荡产。

关于c# - 自定义凭据提供程序和远程桌面 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31381455/

相关文章:

C# 对 SSPI 的调用失败,请参阅内部异常 - 无法联系本地安全机构

c# - 当用户更新我的应用程序时,本地存储会被删除吗?

python - 从模型中引用 Django 登录名

c# - 使用 Identity 2.0 在 MVC 应用程序和 WCF 服务之间传递身份验证

c++ - C++ 的 RDP 协议(protocol)

c# - 何时使用 float

python - HTTP 错误 401 : Authorization Required while downloading a file from HTTPS website and saving it

.net - 从远程桌面中运行的应用程序,如何以编程方式获取已复制到客户端剪贴板的文件并将其保存到磁盘

windows - 如何识别通过远程桌面连接到 Windows 服务器的用户

c# - 检索设备类 GUID 或驱动程序 key