C# WindowsIdentity.Impersonate我需要本地管理员权限吗?

C# WindowsIdentity.Impersonate我需要本地管理员权限吗?,c#,.net-3.5,permissions,C#,.net 3.5,Permissions,我有一个使用FullTrust权限运行的.NET 3.5应用程序。我想使用模拟来读取网络共享上的文件。应用程序在登录用户的上下文中运行,该用户将不是管理员。我的同事说,为了使用不同的凭据登录服务器,需要本地管理员权限。这是正确的吗 目前有用的链接: 我不这么认为,大多数共享驱动器在您尝试连接到它们时都会要求进行身份验证。 我记得我从公司域取出计算机,然后通过C#应用程序使用另一个凭据(不是管理员,但有权访问该驱动器)连接共享驱动器。 为此,我只使用了PrincipalContext(Contex

我有一个使用FullTrust权限运行的.NET 3.5应用程序。我想使用模拟来读取网络共享上的文件。应用程序在登录用户的上下文中运行,该用户将不是管理员。我的同事说,为了使用不同的凭据登录服务器,需要本地管理员权限。这是正确的吗

目前有用的链接:


我不这么认为,大多数共享驱动器在您尝试连接到它们时都会要求进行身份验证。 我记得我从公司域取出计算机,然后通过C#应用程序使用另一个凭据(不是管理员,但有权访问该驱动器)连接共享驱动器。 为此,我只使用了
PrincipalContext(ContextType.Domain)
和弹出的凭证UI


因此,您的第一个检查清单是确保您的帐户能够访问网络共享。

谢谢您的回答。我需要在不出现任何登录提示的情况下无缝地执行此操作。请参阅,这取决于配置。如果您是使用可以通过windows身份验证访问驱动器的帐户登录的,那么最简单的方法是将网络驱动器映射到本地计算机上,并使您的应用程序运行时不会有任何额外的麻烦。不过,对于非窗口身份验证,我稍后会告诉您其他解决方法。@ernie99:-请在此处查找解决方案,谢谢。如果调用identity impersonate的代码的上下文没有管理员权限,您知道该示例是否有效吗?@ernie99您没有必要拥有管理员权限,但您的身份应该能够访问该驱动器是非常必要的。