Now deleting auth cookie when logging out
This commit is contained in:
+1
-1
@@ -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 \
|
||||
|
||||
@@ -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
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user