gpt4 book ai didi

c# - 我可以在某些情况下关闭模拟吗

转载 作者:可可西里 更新时间:2023-11-01 02:59:55 25 4
gpt4 key购买 nike

我有一个应用程序在整个过程中都使用了模拟功能。但是当用户以管理员身份登录时,一些操作需要他们写入服务器本身。现在,如果这些用户在实际服务器上没有权限(有些没有),它不会让他们写。

我想做的是关闭几个命令的模拟。

有没有办法做这样的事情?

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 { }
}

关于c# - 我可以在某些情况下关闭模拟吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/125096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com