【发布时间】:2014-09-10 05:09:34
【问题描述】:
我使用允许数据库访问和其他功能的特殊帐户进行应用级模拟。
但对于一项特定操作(从用户的 PC 读取文件),我需要禁用应用程序级别的模拟。
有没有办法我可以使用“WindowsImpersonationContext”来禁用某个部分的应用程序模拟,并在代码完成后立即重新激活...(最好通过 using 语句)。
【问题讨论】:
-
您可以恢复到进程身份(搜索示例)...但它不应该帮助您“从用户的 PC 读取文件”。
-
如果我没有模拟服务帐户,用户帐户将用于执行数据库调用。所以,我希望我可以在我的文件复制方法中禁用模拟,它会恢复到用户帐户。
-
误读了您的问题-您已经模拟了特定帐户,而不是传入的帐户...在这种情况下,可以模拟传入用户的帐户,但我没有看到这样的代码。但无论如何,我不确定您的“从用户的 PC 读取文件”要求是什么意思。
-
我有一个附件控件。用户通过那里添加文件。 (因为我有 IE9,我不能使用 FileAPI)所以我采用附件的路径并运行复制命令从用户的 PC 复制到我的服务器。但是因为我的模拟帐户没有用户机器上的权限..我无法打开文件。我们公司的安全使得这种情况有点复杂。
-
模拟传入用户不会帮助您将文件从远程计算机复制到服务器,除非您有 Kerberos 而不是 NTLM。请务必搜索并阅读“NTLM one hop”。
标签: c# asp.net-mvc-5