diff options
author | Aidan Skinner <aidan@apache.org> | 2009-02-09 17:03:57 +0000 |
---|---|---|
committer | Aidan Skinner <aidan@apache.org> | 2009-02-09 17:03:57 +0000 |
commit | c9a654925355a4dd128d5111af862e8be89e0a45 (patch) | |
tree | a0f2c06331ec3b41630f171315fc0f8d38c5671f /cpp | |
parent | f53cc284b3045462d751084acf8311a96b4769b7 (diff) | |
download | qpid-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