В моем решении ASP.NET есть иерархия папок, например:
Все в папке Reseller
должно пройти проверку подлинности и считается защищенным ресурсом. Но все, что находится в папке Services
, является общедоступным, и нет необходимости проверять подлинность любого запроса, поступающего для веб-службы ProductServices.asmx
.
Теперь я хочу подключиться к AuthenticateRequest
конвейера процесса запроса, и там, перед тем, как пользователь будет аутентифицирован, я хочу увидеть, является ли запрос открытым или безопасным путем. Я знаю, что могу использовать UrlAuthorizationModule.CheckUrlAccessForPrincipal
, и на самом деле я задал этот вопрос в другой вопрос . Но UrlAuthorizationModule.CheckUrlAccessForPrincipal
- это метод, который можно использовать сразу после аутентификации запроса. Однако перед любой аутентификацией я хочу знать, является ли запрошенный путь безопасным или нет. Другими словами, есть ли какой-либо элемент authentication
, определенный для запрошенного пути, где-либо в его иерархии папок в любом файле web.config или нет.
Псевдокод того, что я хочу, может выглядеть примерно так:
UrlAuthorizationModule.IsRequestedPathSecure(Request.Url.AbsolutePath)
Как я могу это сделать?