X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/1347f3d1e04bedd1508589173f577673ee2c5554..afcbfd1a09e22ff4839ba5db42047c96f355506c:/projects/stargazer/plugins/authorization/ao/ao.cpp diff --git a/projects/stargazer/plugins/authorization/ao/ao.cpp b/projects/stargazer/plugins/authorization/ao/ao.cpp index 9640e2e8..853df2a4 100644 --- a/projects/stargazer/plugins/authorization/ao/ao.cpp +++ b/projects/stargazer/plugins/authorization/ao/ao.cpp @@ -56,7 +56,7 @@ template class IS_CONTAINS_USER: public std::binary_function { public: - bool operator()(varType notifier, USER_PTR user) const + bool operator()(const varType& notifier, USER_PTR user) const { return notifier.GetUser() == user; } @@ -70,15 +70,8 @@ return "Always Online authorizator v.1.0"; } //----------------------------------------------------------------------------- AUTH_AO::AUTH_AO() - : errorStr(), - users(NULL), - usersList(), + : users(NULL), isRunning(false), - settings(), - BeforeChgAONotifierList(), - AfterChgAONotifierList(), - BeforeChgIPNotifierList(), - AfterChgIPNotifierList(), onAddUserNotifier(*this), onDelUserNotifier(*this), logger(GetPluginLogger(GetStgLogger(), "auth_ao")) @@ -242,7 +235,8 @@ UpdateUserAuthorization(u); //----------------------------------------------------------------------------- void AUTH_AO::DelUser(USER_PTR u) { -users->Unauthorize(u->GetLogin(), this); +if (u->IsAuthorizedBy(this)) + users->Unauthorize(u->GetLogin(), this); UnSetUserNotifiers(u); usersList.remove(u); }