请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么我按照老师的来写,登录还是没办法跳转到首页呢,浏览器报Failed to load response data?

https://img1.sycdn.imooc.com//szimg/5b8294800001b2ae23641346.jpg

https://img1.sycdn.imooc.com//szimg/5b8294810001a12c24021256.jpg

from application import app
from flask import request, redirect
from common.models.User import User
from common.libs.user.UserService import UserService
from common.libs.UrlManager import UrlManager
import re


@app.before_request
def before_request():
    ignore_urls = app.config['IGNORE_URLS']
    ignore_check_login_urls = app.config['IGNORE_CHECK_LOGIN_URLS']
    path = request.path

    pattern = re.compile('%s' % "|".join(ignore_check_login_urls))
    if pattern.match(path):
        return

    user_info = check_login()

    pattern1 = re.compile('%s' % "|".join(ignore_urls))
    if pattern1.match(path):
        return

    if not user_info:
        return redirect(UrlManager.buildUrl("/user/login"))

    return


# 判断用户是否已经登录
def check_login():
    cookies = request.cookies
    auth_cookie = cookies[app.config['AUTH_COOKIE_NAME']] if app.config['AUTH_COOKIE_NAME'] in cookies else None
    if auth_cookie is None:
        return False

    auth_info = auth_cookie.split("#")
    if len(auth_cookie) != 2:
        return False
    try:
        user_info = User.query.filter_by(uid=auth_info[1]).first()
    except Exception:
        return False

    if user_info is None:
        return False

    if auth_info[0] != UserService.geneAuthCode(user_info):
        return False

    return user_info


正在回答 回答被采纳积分+3

1回答

编程浪子 2018-08-26 19:56:22

你贴出来的代码只是 拦截器代码,不是你真真登录判断的代码了

0 回复 有任何疑惑可以回复我~
  • 提问者 是小封鸭 #1
    老师,我把下面这两段代码注释掉就能登录,加上就无法登陆,是不是说明问题出在这个user_info里
    if not user_info:
             return redirect(UrlManager.buildUrl("/user/login"))
    回复 有任何疑惑可以回复我~ 2018-08-26 21:11:10
  • 编程浪子 回复 提问者 是小封鸭 #2
    登录页面不用判断是否登录呀,你是不是没有设置过滤的ulr 呀
    回复 有任何疑惑可以回复我~ 2018-08-27 13:27:07
  • 提问者 是小封鸭 回复 编程浪子 #3
    找到原因了,谢谢老师!
    回复 有任何疑惑可以回复我~ 2018-08-27 21:33:59
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号