Проверка кода примера из http://lukesampson.com/post/471548689/entering-and-exiting-https-with-asp-net-mvc, написанного для ASP.NET MVC2, я заметил, что они могут проверить, применяется ли специальный атрибут к текущее действие или контроллер путем доступа к filterContext.ActionDescriptor
и filterContext.ActionDescriptor.ControllerDescriptor
соответственно:
public class ExitHttpsIfNotRequiredAttribute : FilterAttribute, IAuthorizationFilter {
public void OnAuthorization(AuthorizationContext filterContext) {
// snip
// abort if a [RequireHttps] attribute is applied to controller or action
if(filterContext.ActionDescriptor.ControllerDescriptor.GetCustomAttributes(typeof(RequireHttpsAttribute), true).Length > 0) return;
if(filterContext.ActionDescriptor.GetCustomAttributes(typeof(RequireHttpsAttribute), true).Length > 0) return;
// snip
}
}
Каким будет метод ASP.NET MVC 1 для проверки действия и контроллера для настраиваемого атрибута? В ASP.NET MVC 1 нет filterContext.ActionDescriptor
, что я могу сказать.