diff options
Diffstat (limited to 'qpid/cpp/src/qpid/broker/Connection.cpp')
-rw-r--r-- | qpid/cpp/src/qpid/broker/Connection.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/Connection.cpp b/qpid/cpp/src/qpid/broker/Connection.cpp index 85914b6b3a..a82baea5e6 100644 --- a/qpid/cpp/src/qpid/broker/Connection.cpp +++ b/qpid/cpp/src/qpid/broker/Connection.cpp @@ -25,6 +25,7 @@ #include "qpid/broker/Bridge.h" #include "qpid/broker/Broker.h" #include "qpid/broker/Queue.h" +#include "qpid/broker/AclModule.h" #include "qpid/sys/SecuritySettings.h" #include "qpid/sys/ClusterSafe.h" @@ -276,6 +277,13 @@ void Connection::notifyConnectionForced(const string& text) void Connection::setUserId(const string& userId) { + // Account for changing userId + AclModule* acl = broker.getAcl(); + if (acl) + { + acl->setUserId(*this, userId); + } + ConnectionState::setUserId(userId); // In a cluster, the cluster code will raise the connect event // when the connection is replicated to the cluster. |