是否可能使用C#/VC++;在系统上下文中运行以访问NTLM/Kerberos身份验证的用户上下文的应用程序?

是否可能使用C#/VC++;在系统上下文中运行以访问NTLM/Kerberos身份验证的用户上下文的应用程序?,c#,windows,kerberos,ntlm-authentication,proxy-authentication,C#,Windows,Kerberos,Ntlm Authentication,Proxy Authentication,我有一个需要在系统上下文中运行的windows应用程序。它需要通过代理进行身份验证才能访问互联网 限制是:1)无法向用户请求凭据,因为它不是面向用户的应用程序,基本身份验证也不是首选选项2)使用计算机标识进行身份验证可能不是一个选项,因为它取决于单个企业配置 如果我想使用集成Windows身份验证(针对NTLM/Kerberos)来利用已登录用户的上下文,那么在系统上下文中运行的应用程序是否可以切换到用户上下文?或者,对于在系统上下文中运行的应用程序,是否有其他更干净的方法来向代理进行身份验证?

我有一个需要在系统上下文中运行的windows应用程序。它需要通过代理进行身份验证才能访问互联网

限制是:1)无法向用户请求凭据,因为它不是面向用户的应用程序,基本身份验证也不是首选选项2)使用计算机标识进行身份验证可能不是一个选项,因为它取决于单个企业配置


如果我想使用集成Windows身份验证(针对NTLM/Kerberos)来利用已登录用户的上下文,那么在系统上下文中运行的应用程序是否可以切换到用户上下文?或者,对于在系统上下文中运行的应用程序,是否有其他更干净的方法来向代理进行身份验证?

可能重复的,因为您实际上是在未经用户同意的情况下试图窃取用户的凭据。。。你确定要以SO post的形式留下你行为的痕迹吗?这里没有不道德的东西。它是一个后台应用程序,在企业和用户明确同意的情况下运行。目的是为代理身份验证找到正确的方法。这不是特别邪恶,但也不是特别受支持。因为你们是按系统运行的,所以你们可以做任何你们想做的事情。在这种情况下,最简单的事情是找到用户会话,找到以该用户身份运行的进程(例如explorer.exe)并获取NT令牌句柄。从那里,您可以复制句柄并对其进行模拟。