Windows应用程序运行它的用户的不同权限

时间:2015-12-03 00:04:00

标签: c# wpf

我意识到这是一个广泛的问题,但如果有人能指出我正确的方向,我会很感激。安全不是我的强项。

我有一个WPF应用程序,它生成一系列Crystal Reports并执行一些IO操作。它所使用的所有文件都位于网络上的共享文件夹中,例如\ fs \ MyFiles。

运行应用程序的用户应具有对此网络文件夹的只读访问权限,但应用程序应具有对该文件夹的完全控制权。

我在想的是应用程序需要在不同的安全主体下执行,而不是运行它的用户。这在Windows中可行吗?为了做到这一点,我应该注意什么?

1 个答案:

答案 0 :(得分:2)

这可能是说它是网络共享

networkCredential theNetworkCredential = new NetworkCredential(username, password, domain);
CredentialCache theNetcache = new CredentialCache();
theNetCache.Add(@"\\computer", theNetworkCredential, "Basic", theNetworkCredential);
//then do whatever, such as getting a list of folders:
string[] theFolders = System.IO.Directory.GetDirectories("@\\computer\share");

这将导致应用程序具有与实际登录用户不同的信誉。我建议将用户名和密码以及域加密到配置文件中