gpt4 book ai didi

ASP.NET - 关于模拟的难题

转载 作者:行者123 更新时间:2023-12-02 15:25:36 25 4
gpt4 key购买 nike

我正在构建一个 ASP.NET 应用程序。该应用程序使用表单例份验证。我没有使用角色。但是,我的帐户有一个与之关联的标志,表明我是管理员。

作为管理员,我想通过 Server.Execute 调用应用程序中的另一个页面。不过,当我调用此页面时,我想将其作为应用程序中的另一位用户来调用。

这可能吗?如果是这样,我该怎么做?我知道如何运行 Server.Execute。这是作为不同用户调用它的部分给我带来了困难。我认为这可以通过模仿来完成。但我不知道该怎么做。

谢谢!

最佳答案

在调用页面之前,您只需将当前主体 (admin) 替换为您想要模拟的主体(我们讨论的是 ASP.Net 模拟,而不是 Windows)

var identity = new GenericIdentity("username");
//Roles get populated for username
var principal = new RolePrincipal(identity);
//Current thread now impersonated as "username"
Thread.CurrentThread.CurrentPrincipal = principal;
Server.Execute("whatever.aspx");

关于ASP.NET - 关于模拟的难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/959581/

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