mirror of https://github.com/MISP/misp-modules
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
|
from ..db_class.db import User
|
||
|
from flask import Blueprint, render_template, redirect, url_for, request, flash
|
||
|
from .form import LoginForm
|
||
|
from flask_login import (
|
||
|
login_required,
|
||
|
login_user,
|
||
|
logout_user,
|
||
|
current_user
|
||
|
)
|
||
|
from ..utils.utils import admin_password
|
||
|
from ..db_class.db import User
|
||
|
from .. import db
|
||
|
|
||
|
account_blueprint = Blueprint(
|
||
|
'account',
|
||
|
__name__,
|
||
|
template_folder='templates',
|
||
|
static_folder='static'
|
||
|
)
|
||
|
|
||
|
@account_blueprint.route('/login', methods=['GET', 'POST'])
|
||
|
def login():
|
||
|
"""Log in an existing user."""
|
||
|
form = LoginForm()
|
||
|
if form.validate_on_submit():
|
||
|
if form.password.data == str(admin_password()):
|
||
|
user = User(email="admin@admin.admin")
|
||
|
db.session.add(user)
|
||
|
db.session.commit()
|
||
|
login_user(user, form.remember_me.data)
|
||
|
flash('You are now logged in. Welcome back!', 'success')
|
||
|
return redirect(request.args.get('next') or "/")
|
||
|
else:
|
||
|
flash('Invalid password.', 'error')
|
||
|
return render_template('account/login.html', form=form)
|
||
|
|
||
|
@account_blueprint.route('/logout')
|
||
|
@login_required
|
||
|
def logout():
|
||
|
User.query.filter_by(id=current_user.id).delete()
|
||
|
logout_user()
|
||
|
|
||
|
flash('You have been logged out.', 'info')
|
||
|
return redirect(url_for('home.home'))
|
||
|
|