2012-08-07 145 views
1

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

有用的链接至今:

http://msdn.microsoft.com/en-us/library/system.security.principal.windowsidentity

回答

2

我不这么认为,大部分的共享驱动器的要求认证,当你尝试连接到它们。 我记得我从公司域中取出计算机,然后通过C#应用程序使用其他凭据(不是admin,但有权访问驱动器)连接共享驱动器。 因为我只用PrincipalContext(ContextType.Domain)和凭证UI弹出。

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

+0

感谢您的回答。我需要在没有任何登录提示出现的情况下无缝地执行此操作。 – dior001 2012-08-07 18:25:46

+1

如果您使用可以使用Windows身份验证访问驱动器的某个帐户登录,请参阅此配置,最简单的方法是将网络驱动器映射到本地计算机上,使您的应用程序运行时无任何额外的头痛。但是,对于非窗口身份验证,我会稍后告诉您其他解决方法。 – perilbrain 2012-08-07 18:37:37

+1

@ ernie99: - 请看这里的解决方案http://stackoverflow.com/questions/1432213/copy-file-on-a-network-shared-drive – perilbrain 2012-08-07 18:40:00

相关问题