我正在构建一个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");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |