Windows 在使用不同配置文件进行安装期间,使用凭据连接共享

Windows 在使用不同配置文件进行安装期间,使用凭据连接共享,windows,winapi,credentials,Windows,Winapi,Credentials,我正在开发考试系统,需要实现以下场景: 用户(标准windows用户)完成检查,然后将其保存在网络共享上。 出于安全原因,该共享没有此用户帐户的权限。所以我使用模拟API(LogonUserEx、ImpersonalLoggeDonUser、RevertoSelf)。 当我与之进行模拟的用户在 本地计算机,但要求它是标准用户。 对于标准用户,共享不可见。当我与该用户交互登录时,共享是可见的和可写的。因此,我假设标准用户在未以交互方式登录时无法装载共享。这是正确的吗?有解决办法吗? 我的代码唯一以

我正在开发考试系统,需要实现以下场景: 用户(标准windows用户)完成检查,然后将其保存在网络共享上。 出于安全原因,该共享没有此用户帐户的权限。所以我使用模拟API(LogonUserEx、ImpersonalLoggeDonUser、RevertoSelf)。 当我与之进行模拟的用户在 本地计算机,但要求它是标准用户。 对于标准用户,共享不可见。当我与该用户交互登录时,共享是可见的和可写的。因此,我假设标准用户在未以交互方式登录时无法装载共享。这是正确的吗?有解决办法吗?
我的代码唯一以提升权限运行的时间是在软件安装期间。 我曾想过使用WneTaddConnection2API,但我需要将共享安装到
此“隐藏”用户配置文件不是运行安装程序的管理员配置文件。

您确定LogonUserEx成功了吗?用户帐户可能没有必要的登录权限。我不知道对非交互式帐户的网络访问有任何异常限制。请注意,这种方法不安全。已确定的用户将能够控制您正在模拟的帐户。更好的方法是:(A)使用用户自己的帐户,在服务器上安排内容和权限,以便将用户彼此隔离;或者(b)使用在域帐户中运行的系统服务,通过命名管道或任何类似方法将信息从用户应用程序传递给服务。我不允许在服务器上运行任何东西。是的,LogonUserEx成功了。您认为进行考试的用户将如何获得安全用户的凭据?编程可能是可行的,但如果您以交互方式登录,并且面前只有windows shell?(1)我不建议在服务器上运行任何东西。您可以在每个客户端上安装一个系统服务,该服务在您当前模拟的帐户的上下文中运行。这样,敏感帐户的密码就不会向用户公开。(或者,根据具体情况,您可以重新组织服务器共享,以便隔离用户。)(2)如果LogonUserEx和ImpersonalLoggeDonUser成功,则问题可能是您认为模拟级别仅为SecurityImpersonation。您需要SecurityDelegation级别才能访问网络资源。我找不到任何说明您的场景中预期的模拟级别的文档,但您可以使用OpenThreadToken和GetTokenInformation来了解。不过,我不明白为什么这会因被模拟帐户的权限级别而有所不同。