我有一个贯穿整个模拟过程的应用。但是,当用户以管理员身份登录时,需要执行一些操作才能写入服务器本身。现在,如果这些用户没有实际服务器上的权限(有些则没有),则不会让他们写。
我想做的只是关闭几个命令的模拟。
有没有办法做这样的事情?
using(HostingEnvironment.Impersonate.Off()) //I know this isn't a command, but you get the idea?
谢谢。
确保应用程序池具有所需的正确权限。
然后,当您想恢复到应用程序池标识时,请运行以下命令:
private WindowsImpersonationContext context = null; public void RevertToAppPool() { try { if (!WindowsIdentity.GetCurrent().IsSystem) { context = WindowsIdentity.Impersonate(System.IntPtr.Zero); } } catch { } } public void UndoImpersonation() { try { if (context != null) { context.Undo(); } } catch { } }