Проверка прав доступа пользователей к виртуальному пути при среднем доверии

Если я хочу проверить, имеет ли текущий пользователь доступ к заданному 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)]

Есть ли способ, которым я могу проверить, есть ли у пользователя виртуальный путь в средстве доверия? Я переписываю путь в HttpModules PostAuthorizeRequest обработчик событий, поэтому мне нужно иметь возможность проверять разрешения после перезаписи.

0 ответов

Другие вопросы по тегам