如果我想检查当前用户是否可以完全信任地访问给定的 url,我可以使用这样的代码。
IPrincipal user = context.User
?? new GenericPrincipal(new GenericIdentity(
string.Empty,
string.Empty),
new string[0]);
UrlAuthorizationModule.CheckUrlAccessForPrincipal(virtualPath, user, "GET");
不幸的是,这在中等信任环境中不起作用,因为该CheckUrlAccessForPrincipal
方法具有以下标志。
[SecurityPermission(SecurityAction.Demand, Unrestricted=true)]
有没有办法可以检查虚拟路径用户权限是否处于中等信任状态?我正在重写 HttpModulesPostAuthorizeRequest
事件处理程序中的路径,因此我需要能够在重写后检查权限。