Просмотр исходного кода

fix(authz): use binary() type instead of string() for cache.excludes

Zaiming (Stone) Shi 2 лет назад
Родитель
Сommit
85b6a3454c
2 измененных файлов с 2 добавлено и 2 удалено
  1. 1 1
      apps/emqx/src/emqx_authz_cache.erl
  2. 1 1
      apps/emqx/src/emqx_schema.erl

+ 1 - 1
apps/emqx/src/emqx_authz_cache.erl

@@ -56,7 +56,7 @@ drain_k() -> {?MODULE, drain_timestamp}.
 -spec is_enabled(emqx_types:topic()) -> boolean().
 -spec is_enabled(emqx_types:topic()) -> boolean().
 is_enabled(Topic) ->
 is_enabled(Topic) ->
     case emqx:get_config([authorization, cache]) of
     case emqx:get_config([authorization, cache]) of
-        #{enable := true, excludes := Filters} ->
+        #{enable := true, excludes := Filters} when Filters =/= [] ->
             not is_excluded(Topic, Filters);
             not is_excluded(Topic, Filters);
         #{enable := IsEnabled} ->
         #{enable := IsEnabled} ->
             IsEnabled
             IsEnabled

+ 1 - 1
apps/emqx/src/emqx_schema.erl

@@ -468,7 +468,7 @@ fields(authz_cache) ->
                 }
                 }
             )},
             )},
         {excludes,
         {excludes,
-            sc(hoconsc:array(string()), #{
+            sc(hoconsc:array(binary()), #{
                 default => [],
                 default => [],
                 desc => ?DESC(fields_authz_cache_excludes)
                 desc => ?DESC(fields_authz_cache_excludes)
             })}
             })}