2

如果我想检查当前用户是否可以完全信任地访问给定的 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事件处理程序中的路径,因此我需要能够在重写后检查权限。

4

0 回答 0