Now deleting auth cookie when logging out

This commit is contained in:
emeric
2018-03-13 11:24:20 +01:00
parent f91aacb0a3
commit ba1968b02c
5 changed files with 35 additions and 22 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ lms_SOURCES = \
$(srcdir)/ui/Filters.cpp \
$(srcdir)/ui/HomeView.cpp \
$(srcdir)/ui/LmsApplication.cpp \
$(srcdir)/ui/LoginView.cpp \
$(srcdir)/ui/Auth.cpp \
$(srcdir)/ui/MediaPlayer.cpp \
$(srcdir)/ui/PlayQueueView.cpp \
$(srcdir)/ui/ReleasesView.cpp \
+20 -15
View File
@@ -21,23 +21,22 @@
#include <Wt/WLineEdit>
#include <Wt/WCheckBox>
#include <Wt/WPushButton>
#include <Wt/Auth/AuthModel>
#include "utils/Logger.hpp"
#include "common/Validators.hpp"
#include "LmsApplication.hpp"
#include "LoginView.hpp"
#include "Auth.hpp"
namespace UserInterface {
LoginView::LoginView(Wt::Auth::Login& login, Wt::WContainerWidget *parent)
Auth::Auth(Wt::WContainerWidget *parent)
: Wt::WTemplateFormView(parent)
{
auto model = new Wt::Auth::AuthModel(DbHandler().getAuthService(), DbHandler().getUserDatabase());
_model = new Wt::Auth::AuthModel(DbHandler().getAuthService(), DbHandler().getUserDatabase());
model->addPasswordAuth(&Database::Handler::getPasswordService());
_model->addPasswordAuth(&Database::Handler::getPasswordService());
setTemplateText(Wt::WString::tr("template-login"));
addFunction("tr", &WTemplate::Functions::tr);
@@ -58,14 +57,14 @@ LoginView::LoginView(Wt::Auth::Login& login, Wt::WContainerWidget *parent)
auto loginBtn = new Wt::WPushButton(Wt::WString::tr("msg-login"));
bindWidget("login-btn", loginBtn);
loginBtn->clicked().connect(std::bind([=, &login]
loginBtn->clicked().connect(std::bind([=]
{
updateModel(model);
updateModel(_model);
if (model->validate())
model->login(login);
if (_model->validate())
_model->login(DbHandler().getLogin());
else
updateView(model);
updateView(_model);
}));
password->enterPressed().connect(std::bind([=]
@@ -73,16 +72,22 @@ LoginView::LoginView(Wt::Auth::Login& login, Wt::WContainerWidget *parent)
loginBtn->clicked().emit(Wt::WMouseEvent());
}));
login.changed().connect(std::bind([=, &login]
DbHandler().getLogin().changed().connect(std::bind([=]
{
if (login.loggedIn())
if (DbHandler().getLogin().loggedIn())
this->setHidden(true);
}));
Wt::Auth::User user = model->processAuthToken();
model->loginUser(login, user, Wt::Auth::WeakLogin);
Wt::Auth::User user = _model->processAuthToken();
_model->loginUser(DbHandler().getLogin(), user, Wt::Auth::WeakLogin);
updateView(model);
updateView(_model);
}
void
Auth::logout()
{
_model->logout(DbHandler().getLogin());
}
} // namespace UserInterface
+8 -2
View File
@@ -22,13 +22,19 @@
#include <Wt/WContainerWidget>
#include <Wt/WTemplateFormView>
#include <Wt/Auth/Login>
#include <Wt/Auth/AuthModel>
namespace UserInterface {
class LoginView : public Wt::WTemplateFormView
class Auth : public Wt::WTemplateFormView
{
public:
LoginView(Wt::Auth::Login& login, Wt::WContainerWidget *parent = 0);
Auth(Wt::WContainerWidget *parent = 0);
void logout();
private:
Wt::Auth::AuthModel* _model;
};
+4 -4
View File
@@ -30,7 +30,7 @@
#include "utils/Logger.hpp"
#include "utils/Utils.hpp"
#include "LoginView.hpp"
#include "Auth.hpp"
#include "Explore.hpp"
#include "HomeView.hpp"
#include "MediaPlayer.hpp"
@@ -121,8 +121,8 @@ LmsApplication::LmsApplication(const Wt::WEnvironment& env, Wt::Dbo::SqlConnecti
{
DbHandler().getLogin().changed().connect(this, &LmsApplication::handleAuthEvent);
auto auth = new LoginView(DbHandler().getLogin());
root()->addWidget(auth);
_auth = new Auth();
root()->addWidget(_auth);
}
}
@@ -279,7 +279,7 @@ LmsApplication::handleAuthEvent(void)
menuItem->triggered().connect(std::bind([=]
{
setConfirmCloseMessage("");
DbHandler().getLogin().logout();
_auth->logout();
}));
}
navbar->addMenu(rightMenu, Wt::AlignRight);
+2
View File
@@ -28,6 +28,7 @@
#include "resource/ImageResource.hpp"
#include "resource/TranscodeResource.hpp"
#include "Auth.hpp"
namespace UserInterface {
@@ -56,6 +57,7 @@ class LmsApplication : public Wt::WApplication
void handleAuthEvent(void);
Database::Handler _db;
Auth* _auth;
Scanner::MediaScanner& _scanner;
ImageResource* _imageResource;
TranscodeResource* _transcodeResource;