diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2010-12-14 15:03:44 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2010-12-14 15:03:44 +0000 |
| commit | 6d1fdf67b8ff93d9f679824fbc98edb89aa709ba (patch) | |
| tree | 21c7bf2e7832d280cc756b44150df3802999b156 /include | |
| parent | 5d421ea6b12f84f77d2cf918952cad89186ec00f (diff) | |
| parent | efb8bda30a51fa0ef371814df8d8b48c0373a8e5 (diff) | |
| download | rabbitmq-server-git-6d1fdf67b8ff93d9f679824fbc98edb89aa709ba.tar.gz | |
Merge from default
Diffstat (limited to 'include')
| -rw-r--r-- | include/rabbit.hrl | 8 | ||||
| -rw-r--r-- | include/rabbit_auth_backend_spec.hrl | 48 |
2 files changed, 55 insertions, 1 deletions
diff --git a/include/rabbit.hrl b/include/rabbit.hrl index fccfad9708..e5fceaed4d 100644 --- a/include/rabbit.hrl +++ b/include/rabbit.hrl @@ -29,7 +29,13 @@ %% Contributor(s): ______________________________________. %% --record(user, {username, password_hash, is_admin}). +-record(user, {username, + is_admin, + auth_backend, %% Module this user came from + impl %% Scratch space for that module + }). + +-record(internal_user, {username, password_hash, is_admin}). -record(permission, {configure, write, read}). -record(user_vhost, {username, virtual_host}). -record(user_permission, {user_vhost, permission}). diff --git a/include/rabbit_auth_backend_spec.hrl b/include/rabbit_auth_backend_spec.hrl new file mode 100644 index 0000000000..aa9b7b9812 --- /dev/null +++ b/include/rabbit_auth_backend_spec.hrl @@ -0,0 +1,48 @@ +%% The contents of this file are subject to the Mozilla Public License +%% Version 1.1 (the "License"); you may not use this file except in +%% compliance with the License. You may obtain a copy of the License at +%% http://www.mozilla.org/MPL/ +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +%% License for the specific language governing rights and limitations +%% under the License. +%% +%% The Original Code is RabbitMQ. +%% +%% The Initial Developers of the Original Code are LShift Ltd, +%% Cohesive Financial Technologies LLC, and Rabbit Technologies Ltd. +%% +%% Portions created before 22-Nov-2008 00:00:00 GMT by LShift Ltd, +%% Cohesive Financial Technologies LLC, or Rabbit Technologies Ltd +%% are Copyright (C) 2007-2008 LShift Ltd, Cohesive Financial +%% Technologies LLC, and Rabbit Technologies Ltd. +%% +%% Portions created by LShift Ltd are Copyright (C) 2007-2010 LShift +%% Ltd. Portions created by Cohesive Financial Technologies LLC are +%% Copyright (C) 2007-2010 Cohesive Financial Technologies +%% LLC. Portions created by Rabbit Technologies Ltd are Copyright +%% (C) 2007-2010 Rabbit Technologies Ltd. +%% +%% All Rights Reserved. +%% +%% Contributor(s): ______________________________________. +%% +-ifdef(use_specs). + +-type(vhost_permission_atom() :: 'read' | 'write'). + +-spec(description/0 :: () -> [{atom(), any()}]). + +-spec(check_user_login/2 :: (rabbit_access_control:username(), [term()]) -> + {'ok', rabbit_types:user()} | + {'refused', rabbit_access_control:username()} | + {'error', any()}). +-spec(check_vhost_access/3 :: (rabbit_types:user(), rabbit_types:vhost(), + vhost_permission_atom()) -> + boolean() | {'error', any()}). +-spec(check_resource_access/3 :: (rabbit_types:user(), + rabbit_types:r(atom()), + rabbit_access_control:permission_atom()) -> + boolean() | {'error', any()}). +-endif. |
