C# Windows应用程序与运行它的用户具有不同的权限

C# Windows应用程序与运行它的用户具有不同的权限,c#,wpf,C#,Wpf,我意识到这是一个广泛的问题,但如果有人能给我指出正确的方向,我将不胜感激。安全不是我的强项 我有一个WPF应用程序,它生成一系列Crystal报告并执行一些IO操作。它处理的所有文件都位于网络上的共享文件夹中,例如\fs\MyFiles 运行应用程序的用户应该对此网络文件夹具有只读访问权限,但应用程序应该完全控制该文件夹 我的想法是,应用程序需要在不同于运行它的用户的安全主体下执行。这在Windows中可能吗?要做到这一点,我应该看什么?这可以说是网络共享 networkCredential t

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

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

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


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

这可以说是网络共享

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");
这将导致应用程序具有与实际登录用户不同的凭据。我建议将用户名、密码和域加密放在配置文件中