public static bool ShouldValidate(
            this IStudioXAntiForgeryManager manager,
            IStudioXAntiForgeryWebConfiguration antiForgeryWebConfiguration,
            MethodInfo methodInfo,
            HttpVerb httpVerb,
            bool defaultValue)
        {
            if (!antiForgeryWebConfiguration.IsEnabled)
            {
                return(false);
            }

            if (methodInfo.IsDefined(typeof(ValidateStudioXAntiForgeryTokenAttribute), true))
            {
                return(true);
            }

            if (ReflectionHelper.GetSingleAttributeOfMemberOrDeclaringTypeOrDefault <DisableStudioXAntiForgeryTokenValidationAttribute>(methodInfo) != null)
            {
                return(false);
            }

            if (antiForgeryWebConfiguration.IgnoredHttpVerbs.Contains(httpVerb))
            {
                return(false);
            }

            if (methodInfo.DeclaringType?.IsDefined(typeof(ValidateStudioXAntiForgeryTokenAttribute), true) ?? false)
            {
                return(true);
            }

            return(defaultValue);
        }
 public StudioXWebModuleConfiguration(
     IStudioXAntiForgeryWebConfiguration antiForgery,
     IStudioXWebLocalizationConfiguration localization)
 {
     AntiForgery  = antiForgery;
     Localization = localization;
 }
Exemple #3
0
 public StudioXAntiForgeryApiFilter(
     IStudioXAntiForgeryManager antiForgeryManager,
     IStudioXWebApiConfiguration webApiConfiguration,
     IStudioXAntiForgeryWebConfiguration antiForgeryWebConfiguration)
 {
     studioXAntiForgeryManager        = antiForgeryManager;
     this.webApiConfiguration         = webApiConfiguration;
     this.antiForgeryWebConfiguration = antiForgeryWebConfiguration;
     Logger = NullLogger.Instance;
 }
Exemple #4
0
 public StudioXAntiForgeryMvcFilter(
     IStudioXAntiForgeryManager antiForgeryManager,
     IStudioXMvcConfiguration mvcConfiguration,
     IStudioXAntiForgeryWebConfiguration antiForgeryWebConfiguration)
 {
     studioXAntiForgeryManager        = antiForgeryManager;
     this.mvcConfiguration            = mvcConfiguration;
     this.antiForgeryWebConfiguration = antiForgeryWebConfiguration;
     Logger = NullLogger.Instance;
 }