summaryrefslogtreecommitdiffstats
path: root/src/Common/AuthManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/AuthManager.cpp')
-rw-r--r--src/Common/AuthManager.cpp12
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);
}
}