我正在使用DPAPI ProtectData
,如下所示:
var temp = new byte[32]
{
1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,3,
3,3,3,3,3,3,3,3,
4,4,4,4,4,4,4,4
};
ProtectedData.Protect(temp, null, DataProtectionScope.CurrentUser);
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
让我们假设现在的temp看起来像:
temp = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,....31 };
我想从.exe文件以及WebService(IIS)执行此代码。
问题是,如果我从exe运行代码,则当前用户是MyDomain/Administrator
,如果我从WebService运行代码,则当前用户是IIS APPPOOL/MyApp
。
我该如何解决这个问题?我正在尝试从WebService
.exe文件运行,如下所示:
Process.Start(@"C:\myexe.exe");
但是它由于某些原因(我可以完全访问我的iis应用程序)而无法正常工作,无论如何我都不认为这是解决此问题的正确方法。
注意:出于安全原因,我无法从更改DataProtectionScope.LocalMachine
为DataProtectionScope.CurrentUser
问题解决了。
我从本地用户运行IIS应用程序。
您可以通过选择应用程序池并单击“操作”窗格菜单下的“高级设置...”来找到它。选择“身份”,然后单击列出的当前用户旁边的按钮。选择自定义帐户,然后单击设置。用户名使用格式domain \ username并输入用户密码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句