diff options
Diffstat (limited to 'src/Common/AuthManager.cpp')
-rw-r--r-- | src/Common/AuthManager.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/Common/AuthManager.cpp b/src/Common/AuthManager.cpp index ffb8453..82fbda5 100644 --- a/src/Common/AuthManager.cpp +++ b/src/Common/AuthManager.cpp @@ -45,13 +45,19 @@ std::vector<std::string> AuthManager::getMethods() { return backend->getMethods(); } -boost::shared_ptr<AuthContext> AuthManager::authenticate(const std::string &method, const std::string &user, const std::vector<boost::uint8_t> &data, - std::vector<boost::uint8_t> &response, boost::shared_ptr<AuthContext> context) throw(Core::Exception) { +std::vector<std::string> AuthManager::getSubMethods(const std::string &method) throw(Core::Exception) { + boost::shared_lock<boost::shared_mutex> lock(mutex); + + return backend->getSubMethods(method); +} + +boost::shared_ptr<AuthContext> AuthManager::authenticate(const std::string &method, const std::string &subMethod, const std::string &user, + const std::vector<boost::uint8_t> &data, std::vector<boost::uint8_t> &response, boost::shared_ptr<AuthContext> context) throw(Core::Exception) { boost::lock_guard<boost::shared_mutex> lock(mutex); response.clear(); - return backend->authenticate(method, user, data, response, context); + return backend->authenticate(method, subMethod, user, data, response, context); } } |