public static void SetPolicyMap(AntiXssOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } var map = options.GetPolicyMap(); _defaultPolicyName = options.DefaultPolicyName; _policyMap.Clear(); foreach (var key in map.Keys) { var builder = new AntiXssPolicyBuilder(map[key]); _policyMap.Add(key, builder.Build()); } if (!IsContainsPolicy(_defaultPolicyName)) { _policyMap.Add(_defaultPolicyName, AntiXssPolicy.DefaultAntiXssPolicy); } HasInit = true; }
/// <summary> /// Add AntiXss /// </summary> /// <param name="services"></param> /// <param name="optionsAction"></param> /// <returns></returns> public static IServiceCollection AddAntiXss(this IServiceCollection services, Action <AntiXssOptions> optionsAction) { var options = new AntiXssOptions(); optionsAction?.Invoke(options); // ReSharper disable once RedundantTypeArgumentsOfMethod services.AddSingleton <AntiXssOptions>(options); services.AddSingleton <IAntiXssPolicyProvider, AntiXssPolicyProvider>(); services.AddTransient <AntiXss>(); return(services); }
//app.UseAntiXssMiddleware(); public static IApplicationBuilder UseAntiXssMiddleware(this IApplicationBuilder builder, IConfigurationRoot Configuration) { var options = new AntiXssOptions(); Configuration.GetSection(nameof(AntiXssOptions)).Bind(options); var IsEnabled = (options.Enabled == true) ? true : false; if (IsEnabled) { return(builder.UseMiddleware <AntiXssMiddleware>()); } return(builder); }
public static void Init(AntiXssOptions options) { _options = options; InternalAntiXssManager.SetPolicyMap(options); }
/// <summary> /// AntiXss policy provider /// </summary> /// <param name="options"></param> public AntiXssPolicyProvider(AntiXssOptions options) { _options = options ?? throw new ArgumentNullException(nameof(options)); }