summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2009-02-09 17:03:57 +0000
committerAidan Skinner <aidan@apache.org>2009-02-09 17:03:57 +0000
commitc9a654925355a4dd128d5111af862e8be89e0a45 (patch)
treea0f2c06331ec3b41630f171315fc0f8d38c5671f /cpp
parentf53cc284b3045462d751084acf8311a96b4769b7 (diff)
downloadqpid-python-c9a654925355a4dd128d5111af862e8be89e0a45.tar.gz
QPID-1626: Add per-virtualhost authorization plugins.
PluginManager: add support for getting ACLPluginFactories from OSGi and the ones we already know about. *ApplicationRegistry*: return an ACLManager, not an ACLPlugin from getAccessManager. ACLManager: use PluginManager to get all the available plugins. When being asked to authorize a particular request, hold a vote amongst all the plugins as to whether to allow or deny access. ACLPlugin: return a ALLOWED/DENIED/ABSTAIN vote result. Fix typo in method name. ACLPluginFactory: Factory class for ACLPlugins. AccessResult: just use class SimpleName instead of getPluginName PrincipalPermissions: return AuthzResult instead of boolean. Might want to maek use of Abstain for things it doesn't actually acare about instead of defaulting to Allowed. AllowAll, DenyAll, BasicACLPlugin, SimpleXML: add Factory, return AuthzResult instead of boolean. VirtualHost: get a new ACLManager and configure it with the virtualhost security section. Ensure that old config files which have the access_control_list outside of the main security.access section continue to work. MockPluginManager: add mock class for tests PluginTest: not having any plugins now returns an empty set, not null MockAMQQueue: support name attribute ACLManagerTest: tests for ACLManager class ExchangeDenier, QueueDenier: new test classes for ACLManagerTest PrincipalPermissionsTest: check for correct return result, not true/false anymore Move plugin configuration to <security> section, not <security><access> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@742626 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
0 files changed, 0 insertions, 0 deletions