emqx_access_control.hrl 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. %%--------------------------------------------------------------------
  2. %% Copyright (c) 2022-2024 EMQ Technologies Co., Ltd. All Rights Reserved.
  3. %%
  4. %% Licensed under the Apache License, Version 2.0 (the "License");
  5. %% you may not use this file except in compliance with the License.
  6. %% You may obtain a copy of the License at
  7. %%
  8. %% http://www.apache.org/licenses/LICENSE-2.0
  9. %%
  10. %% Unless required by applicable law or agreed to in writing, software
  11. %% distributed under the License is distributed on an "AS IS" BASIS,
  12. %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. %% See the License for the specific language governing permissions and
  14. %% limitations under the License.
  15. %%--------------------------------------------------------------------
  16. -ifndef(EMQX_ACCESS_CONTROL_HRL).
  17. -define(EMQX_ACCESS_CONTROL_HRL, true).
  18. -define(EMQX_AUTHORIZATION_CONFIG_ROOT_NAME, "authorization").
  19. -define(EMQX_AUTHORIZATION_CONFIG_ROOT_NAME_ATOM, authorization).
  20. -define(EMQX_AUTHORIZATION_CONFIG_ROOT_NAME_BINARY, <<"authorization">>).
  21. -define(DEFAULT_ACTION_QOS, 0).
  22. -define(DEFAULT_ACTION_RETAIN, false).
  23. -define(AUTHZ_SUBSCRIBE_MATCH_MAP(QOS), #{action_type := subscribe, qos := QOS}).
  24. -define(AUTHZ_SUBSCRIBE(QOS), #{action_type => subscribe, qos => QOS}).
  25. -define(AUTHZ_SUBSCRIBE, ?AUTHZ_SUBSCRIBE(?DEFAULT_ACTION_QOS)).
  26. -define(AUTHZ_PUBLISH_MATCH_MAP(QOS, RETAIN), #{
  27. action_type := publish, qos := QOS, retain := RETAIN
  28. }).
  29. -define(AUTHZ_PUBLISH(QOS, RETAIN), #{action_type => publish, qos => QOS, retain => RETAIN}).
  30. -define(AUTHZ_PUBLISH(QOS), ?AUTHZ_PUBLISH(QOS, ?DEFAULT_ACTION_RETAIN)).
  31. -define(AUTHZ_PUBLISH, ?AUTHZ_PUBLISH(?DEFAULT_ACTION_QOS)).
  32. -define(authz_action(PUBSUB, QOS), #{action_type := PUBSUB, qos := QOS}).
  33. -define(authz_action(PUBSUB), ?authz_action(PUBSUB, _)).
  34. -define(authz_action, ?authz_action(_)).
  35. -define(AUTHN_TRACE_TAG, "AUTHN").
  36. -endif.