예제 #1
0
def login():
    """
    后台登陆
    :return:
    """
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data['account']).first()
        if admin:
            if not admin.check_pwd(data["pwd"]):
                print("用户名或者密码错误,请重新输入")
                flash("密码错误!")
                return redirect(url_for("admin.login"))
            #如果是正确的,就要定义session的回话进行保存
            session["admin"] = data["account"]
            adminlog = Adminlog(
                admin_id = admin.id,
                ip = request.remote_addr
            )
            db.session.add(adminlog)
            db.session.commit()
            print("next url:",request.args.get("next"))
            return redirect(request.args.get("next") or url_for("admin.index"))
    print("="*10,form.validate_on_submit())
    return render_template("admin/login.html",form=form)
예제 #2
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash("Successfully logged in as %s" % form.user.username)
        login_user(form.user)
        return redirect(request.args.get("next") or url_for(".show_all"))
    return render_template('admin/login.html', form=form, logged_in=current_user.is_authenticated())
예제 #3
0
def login():
    form = LoginForm()
    if form.validate_on_submit():

        data = form.data
        print(data)
        admin = Admin.query.filter_by(name=data['account']).first()

        if not admin.check_pwd(data['pwd']):
            # 消息的闪现
            flash('密码错误', 'err')
            return redirect(url_for('admin.login'))
        # 密码正确存入session中
        session['admin'] = data['account']
        session['admin_id'] = admin.id
        # 添加管理员登录日志
        adminloginlog = Adminlog(
            admin_id=admin.id,
            ip=request.remote_addr,
        )
        db.session.add(adminloginlog)
        db.session.commit()

        return redirect(request.args.get('next') or url_for('admin.index'))

    return render_template('admin/login.html', form=form)
예제 #4
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # adminlist = AdminList()
        # adminlist.uname = form.data["uname"]
        # adminlist.upwd = generate_password_hash(form.data["upwd"])
        # db.session.add(adminlist)
        # db.session.commit()
        # return "注册成功"
        adminlist = db.session.query(AdminList).filter_by(uname=form.data["uname"]).first()
        if not adminlist:
            flash("账号不存在","err")
            return redirect(url_for("admin.login"))
        if check_password_hash(adminlist.upwd,form.data["upwd"]) is False:
            flash("密码错误","err")
            return redirect(url_for("admin.login"))

        # 账号密码验证通过,设置会话
        adminlog = Adminlog()
        adminlog.admin_id = adminlist.id
        adminlog.ip = request.remote_addr
        db.session.add(adminlog)
        db.session.commit()

        # 将登陆行为写入管理员登陆日志表
        session["adminname"] = adminlist.uname
        session["admin"] = adminlist.id
        return redirect(url_for("admin.admin_index"))
    return render_template("admin/login.html",form=form)
예제 #5
0
파일: views.py 프로젝트: imfht/flaskapps
def login():
    """
    后台登录
    """
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data["account"]).first()
        # 密码错误时,check_pwd返回false,则此时not check_pwd(data["pwd"])为真。
        if not admin.check_pwd(data["pwd"]):
            flash("密码错误!", "err")
            return redirect(url_for("admin.login"))
        # 如果是正确的,就要定义session的会话进行保存。
        session["admin"] = data["account"]
        session["admin_id"] = admin.id
        # admin = Admin.query.filter_by(name=session["admin"]).first()
        # g.logo = "mtianyan.jpg"
        # 后台头像实现的可能解决方法,将当前管理员的头像信息,存在session中。
        adminlog = Adminlog(
            admin_id=admin.id,
            ip=request.remote_addr,
        )
        db.session.add(adminlog)
        db.session.commit()
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #6
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        account = Admin.query.filter_by(name=data["account"]).first()
        if not account.check_pwd(data["pwd"]):
            oplog = Oplog(admin_id=account.id,
                          ip=request.remote_addr,
                          reason="登陆管理员账户 {0} 失败".format(account.name))
            db.session.add(oplog)
            db.session.commit()
            flash("密码错误!", "err")
            return redirect(
                url_for("admin.login", next=request.args.get("next", "")))
        session["account"] = data["account"]
        session["admin_id"] = account.id
        adminlog = Adminlog(admin_id=account.id, ip=request.remote_addr)
        oplog = Oplog(admin_id=account.id,
                      ip=request.remote_addr,
                      reason="登陆管理员账户 {0} 成功".format(account.name))
        db.session.add(adminlog)
        db.session.add(oplog)
        db.session.commit()
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #7
0
def login():
    # 实例化登陆表单
    form = LoginForm()
    # 对form表单进行验证处理
    if form.validate_on_submit():
        # 验证有值后进行获取值
        data = form.data
        admin = Admin.query.filter_by(name=data["account"]).first()
        # print(admin.check_pwd(data["pwd"]))
        if not admin.check_pwd(data["pwd"]):
            # 闪现
            flash("密码错误!", 'err')
            # 密码错误的时候,重定向到lohin页面
            return redirect(url_for("admin.login"))
        session["admin"] = data["account"]
        # 还要保存icu你session,对应下面的登出函数的admin_id的销毁
        session["admin_id"] = admin.id
        # -----------------------管理员登陆日志-----------------------
        adminlog = Adminlog(admin_id=admin.id, ip=request.remote_addr)
        db.session.add(adminlog)
        db.session.commit()
        # -----------------------管理员登陆日志 - ----------------------

        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #8
0
def login():
    '''登陆'''
    form = LoginForm(request.form)
    if form.validate_on_submit():
        account = Admin.query.filter_by(name=form.account.data).first()
        if account is not None:
            # print(form.pwd.data)
            # 进行密码判断
            # if check_password_hash(account.pwd, 'account.pwd') == form.pwd.data:
            if check_password_hash(account.pwd, form.pwd.data):
                # if form.pwd.data == account.pwd:
                session["admin"] = form.account.data
                session["admin_id"] = account.id

                adminlog = Adminlog(admin_id=account.id,
                                    ip=request.remote_addr
                                    # ip=request.['X-Real-IP']
                                    )
                db.session.add(adminlog)
                db.session.commit()

                return redirect(url_for("admin.index"))
            else:
                flash("密码错误请重试")
                return redirect(url_for("admin.login"))

        else:
            # flash("账户不存在,请注册账户")
            return redirect(url_for("admin.login"))

    return render_template('admin/login.html', form=form)
예제 #9
0
def login():
    """
    登录功能
    """
    form = LoginForm()   # 实例化登录表单
    if form.validate_on_submit():   # 验证提交表单
        data = form.data    # 接收数据
        admin = Admin.query.filter_by(name=data["account"]).first() # 查找Admin表数据
        # 密码错误时,check_pwd返回false,则此时not check_pwd(data["pwd"])为真。
        if not admin.check_pwd(data["pwd"]):
            flash("密码错误!", "err")   # 闪存错误信息
            return redirect(url_for("admin.login")) # 跳转到后台登录页
        # 如果是正确的,就要定义session的会话进行保存。
        session["admin"] = data["account"]  # 存入session
        session["admin_id"] = admin.id # 存入session
        # 创建数据
        adminlog = Adminlog(
            admin_id=admin.id,
            ip=request.remote_addr,
        )
        db.session.add(adminlog) # 添加数据
        db.session.commit() # 提交数据
        return redirect(url_for("admin.index")) # 返回后台主页

    return render_template("admin/login.html",form=form)    
예제 #10
0
def login():
    """后台登录"""
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data['account']).first()
        # 密码错误时,check_pwd返回False,否则返回True
        if not admin.check_pwd(data['pwd']):
            flash("密码不正确!", 'err')
            return redirect(url_for('admin.login'))
        # 定义session保存会话
        session['admin'] = data['account']
        session["admin_id"] = admin.id
        ip = request.remote_addr
        address = admin_address(ip)
        adminlog = Adminlog(
            admin_id=admin.id,
            # ip=request.remote_addr
            ip=ip,
            address=address,
        )
        db.session.add(adminlog)
        db.session.commit()
        return redirect(request.args.get('next') or url_for('admin.index'))
    return render_template('admin/login.html', form=form)
예제 #11
0
파일: views.py 프로젝트: bopopescu/Movie
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data["name"]).first()
        print(admin.name, admin.check_password(data["password"]))
        if not admin.check_password(data["password"]):
            flash(u"密码错误", "error")
            return redirect(url_for("admin.login"))
        # login_user(admin)
        session["admin"] = data['name']
        session["admin_id"] = admin.id
        adminlog = AdminLog(
            admin_id=admin.id,
            ip=request.remote_addr  # 获取ip地址
        )
        db.session.add(adminlog)
        db.session.commit()
        # 判断是从那个页面跳转到登录页面的
        next_page = request.args.get("next")
        # 如果没有跳转页面,默认设置为登录成功后返回到index页面
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for("admin.index")
        return redirect(next_page)
    return render_template("admin/login.html", form=form)
예제 #12
0
def login():
    # 实例化表单
    form = LoginForm()
    # 数据库操作
    if form.validate_on_submit():  # 提交表单时进行验证
        # 获取输入的数据
        data = form.data
        # 数据库里筛选查找tag名是否有相同的
        admin = Admin.query.filter_by(name=data['account']).first()
        if not admin.check_pwd(data['pwd']):  # 如果密码错误
            flash("密码错误!", "err")  # 提示
            return redirect(url_for('admin.login'))
        # 密码正确,就保存到session里
        session['admin'] = data['account']
        # 保存id,用于日志
        session["admin_id"] = admin.id

        # 管理员登录日志操作
        adminlog = Adminlog(
            admin_id=admin.id,
            ip=request.remote_addr,
        )
        db.session.add(adminlog)
        db.session.commit()

        return redirect(request.args.get('next') or url_for('admin.index'))
    return render_template('admin/login.html', form=form)
예제 #13
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        admin = Admin.query.filter_by(name=form.data["account"]).first()
        if admin and admin.check_pwd(form.data["pwd"]):
            login_user(admin)
            return redirect(url_for("admin.index"))
        flash("密码错误!")
        return redirect(url_for('admin.login'))
    return render_template("admin/login.html", form=form)
예제 #14
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin_query = Admin.objects(admin_id=data["admin_id"]).first()
        if not admin_query.check_pwd(data["password"]):
            flash("the password is incorrect !")
            return redirect(url_for("admin.login"))
        session["admin_id"] = data["admin_id"]
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #15
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        account = data['account']
        account = Admin.query.filter_by(name=account).first()
        if not account.check_pwd(data['pwd']):
            return redirect(url_for('admin.login', error='密码错误!'))
        session['adminuser'] = data['account']
        return redirect(url_for('admin.userpage'))
    return render_template('admin/login.html', form=form)
예제 #16
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        if data["name"] != USER_NAME or data["pwd"] != PASS_WD:
            flash("账号或密码错误", "err")
            return redirect(url_for('admin.login'))
        session["user_name"] = data['name']
        session["user_id"] = uuid.uuid1().hex
        return render_template('admin/admin.html')
    return render_template('admin/login.html', form=form)
예제 #17
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data['account']).first()
        if not admin.check_pwd(data['pwd']):
            flash('密码错误')
            return redirect(url_for('admin.login'))
        session['account'] = data['account']
        return redirect(request.args.get('next') or url_for('admin.index'))
    return render_template('admin/login.html', form=form)
예제 #18
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data["account"]).first()
        if not admin.check_pwd(data["pwd"]):
            flash("密码错误!")
            return redirect(url_for("admin.login"))
        session["admin"] = data["account"]
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #19
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        logout_user()  # just to be sure we wipe any leftover session cookie
        user = Admin()
        if not form.validate_login():
            flash(_('Invalid username or password'))
            return redirect(url_for('admin.login'))
        login_user(user, remember=form.remember_me.data)
        return redirect(url_for("admin.admin_dashboard"))
    return render_template('login.html', title=_('Sign In'), form=form)
예제 #20
0
def login():
    loginForm = LoginForm()
    loginData = loginForm.data
    if loginForm.validate_on_submit():
        admin = Admin.query.filter_by(account=loginData['account']).first()
        if not admin.check_pwd(loginData['pwd']):
            flash('密码有误,请重新输入!', 'error')
            return redirect(url_for('admin.login'))
        session['admin'] = loginData['account']
        return redirect(url_for('admin.index'))
    return render_template('admin/login.html', form=loginForm)
예제 #21
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        admin = Admin.query.filter_by(username=form.username.data).first_or_404()
        if admin and admin.check_password(form.password.data):
            session['admin'] = admin.username
            session['admin_id'] = admin.id
            return redirect(url_for('admin.index'))
        flash("密码错误")
        print(request.url)
        return redirect(url_for('admin.login'))
    return render_template('admin/login.html', form=form)
예제 #22
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        user = Admin.query.filter_by(username=data["username"]).first()
        if not user.check_pwd(data["password"]):
            flash("密码错误")
            return redirect(url_for("admin.login"))
        session["username"] = data["username"]
        session["userid"] = user.id
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #23
0
파일: views.py 프로젝트: SpellarBot/movie
def login():
    form = LoginForm()  # 实例表单
    if form.validate_on_submit():  # 表单的提交
        data = form.data  # 获取表单的值
        admin = Admin.query.filter_by(
            name=data["account"]).first()  # 根据account的值查询模型Admin
        if admin.check_pwd(data["pwd"]) == False:  # 调用模型内的check_pwd验证密码
            flash("flash:密码错误!", "err")
            return redirect(url_for("admin.login"))
        session["admin"] = data["account"]  # 验证成功 保存session会话
        return redirect(url_for("admin.index"))  # 进入主页
    return render_template("admin/login.html", form=form)
예제 #24
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        name = data['name']
        pwd = data['pwd']
        admin = readadmin()
        if name == admin['username'] and pwd == admin['password']:
            session['islogin'] = admin['username']
            return redirect(url_for('admin.index'))
        else:
            flash("账号或密码错误", "error")
    return render_template("admin/login.html", form=form)
예제 #25
0
파일: views.py 프로젝트: lotus321/Sec-Dump
def login():
    form = LoginForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        user = findUser(form.username.data, form.password.data)
        if user:
            login_user(user)
            flash('Logged in successfully.')
            return redirect(request.args.get('next') or url_for('admin.index'))
        else:
            flash('Invalid username or password')
            return redirect(url_for('admin.login'))
    elif form.errors:
        flash('Login failed. (fields cannot be empty)')
    return render_template('login.html', form=form)
예제 #26
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(
                form.password.data) or not user.is_admin:
            flash(_('Invalid username or password'))
            return redirect(url_for('admin.login'))
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('admin.index')
        return redirect(next_page)
    return render_template('admin/login.html', title=_('F**k In'), form=form)
예제 #27
0
def login():
    form = LoginForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        user = findUser(form.username.data, form.password.data)
        if user:
            login_user(user)
            flash('Logged in successfully.')
            return redirect(request.args.get('next') or url_for('admin.index'))
        else:
            flash('Invalid username or password')
            return redirect(url_for('admin.login'))
    elif form.errors:
        flash('Login failed. (fields cannot be empty)')
    return render_template('login.html', form=form)
예제 #28
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data["account"]).first()
        if admin and admin.verify_password(data["pwd"]):
            login_user(admin)
            adminlog = Adminlog(
                admin_id=admin.id,
                ip=request.remote_addr,
            )
            db.session.add(adminlog)
            db.session.commit()
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #29
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data["account"]).first()
        if not admin.check_pwd(data["pwd"]):
            flash("密码错误哦~", 'err')
            return redirect(url_for("admin.login"))
        session["admin"] = data["account"]
        session["admin_id"] = admin.id
        adminlog = Adminlog(admin_id=admin.id, ip=request.remote_addr)
        db.session.add(adminlog)
        db.session.commit()
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #30
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('admin.dashboard'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password', 'alert-danger')
            return redirect(url_for('admin.login'))
        login_user(user, remember=form.remember.data)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('admin.dashboard') 
        return redirect(next_page)
    return render_template('admin/login.html',form=form)
예제 #31
0
def index():
    """
    后台登录
    """
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(admin_id=data["account"]).first()
        # 密码错误时,check_pwd返回false,则此时not check_pwd(data["pwd"])为真。
        if not admin.admin_pwd == (data["pwd"]):
            flash("密码错误!", "err")
            return redirect(url_for("admin.index"))
        session["admin_id"] = admin.admin_id
        return redirect(url_for("admin.manage"))
    return render_template("admin/login.html", form=form)
예제 #32
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        account = data["account"]
        password = data["password"]
        admin = Admin.query.filter_by(account=account).first()
        if admin.check_password_hash(password):
            session["admin"] = admin.account
            session["admin_id"] = admin.id
            adminlog = AdminLog(admin_id=admin.id, ip=request.remote_addr)
            db.session.add(adminlog)
            db.session.commit()
            return redirect(url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #33
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # 提交的时候验证表单
        data = form.data  # 获取表单的数据
        # print(data)
        login_admin = Admin.query.filter_by(name=data['account']).first()
        if not login_admin.check_pwd(data['pwd']):
            # 判断密码错误,然后将错误信息返回,使用flash用于消息闪现
            flash('密码错误!')
            return redirect(url_for('admin.login'))
        # 如果密码正确,session中添加账号记录,然后跳转到request中的next,或者是跳转到后台的首页
        session['login_admin'] = data['account']
        return redirect(request.args.get('next') or url_for('admin.index'))
    return render_template('admin/login.html', form=form)
예제 #34
0
def login():
    if current_user.is_authenticated():
        return redirect(url_for('admin'))

    form = LoginForm()

    if form.validate_on_submit():
        username = request.form.get('username')
        password = request.form.get('password')
        passw = hashlib.sha1(password).hexdigest()
        user = User.login_check(username,passw)
        if user:
            login_user(user)
            return redirect(url_for('admin'))

    return render_template('admin/signin.html',form=form)
예제 #35
0
    def login_view(self):
        # handle user login
        form = LoginForm()
        if form.validate_on_submit():
            user = User.query.filter_by(username=form.username.data).first()
            if user is not None and user.verify_password(form.password.data):
                login_user(user, form.remember_me.data)
                return redirect(url_for('.index'))

            flash('Invalid username or password')

        link = '<p>Don\'t have an account? <a href="' + url_for('.register_view') + '">Click here to register.</a></p>'
        self._template_args['form'] = form
        if Setting.query.filter_by(name=u'show_register_page').first().value == 'true' or len(User.query.all()) == 0:
            self._template_args['link'] = link
            self._template_args['desc'] = 'In order to use the administration panel, you must log in.'
        return super(IndexView, self).index()
예제 #36
0
def login():
    form = LoginForm()
    if form.validate_on_submit():  # 提交时验证
        data = form.data  # 获取数据
        admin = Admin.query.filter_by(name=data['account']).first()  # 根据用户名查询出一条记录
        if not admin.check_pwd(data["pwd"]):  # 正确返回True,错误返回False
            flash("密码错误!", "err")  # 消息闪现
            return redirect(url_for("admin.login"))  # 错误跳转页面
        session["admin"] = data["account"]  # 保存账号
        session["admin_id"] = admin.id  # 保存用户id
        adminlog = Adminlog(
            admin_id=admin.id,
            ip=request.remote_addr,
        )
        db.session.add(adminlog)
        db.session.commit()
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #37
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=data["account"]).first()
        if not admin.check_pwd(data["pwd"]):
            flash("密码错误!","err")
            return redirect(url_for("admin.login"))
        session["admin"] = data["account"]
        session["admin_id"] = admin.id
        adminlog = Adminlog(
            admin_id = admin.id,
            ip = request.remote_addr,
        )
        db.session.add(adminlog)
        db.session.commit()
        return redirect(request.args.get("next") or url_for("admin.index"))
    return render_template("admin/login.html", form=form)
예제 #38
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = form.data()
    return render_template("admin/login.html",form=form)