我有一个始终使用模拟的应用程序。但是,当用户以管理员身份登录时,一些操作需要他们写入服务器本身。现在,如果这些用户在实际服务器上没有权限(有些用户没有),则不会让他们写入。
我想做的是关闭几个命令的模拟。
有没有办法做这样的事情?
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 { }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)