예제 #1
0
파일: main.py 프로젝트: SnailJie/passport
def before_request():
    g.startTime = time.time()
    g.redis = create_redis_engine()
    g.mysql = create_mysql_engine()
    g.signin = verify_sessionId(request.cookies.get("sessionId"))
    g.sid, g.uid = analysis_sessionId(request.cookies.get("sessionId"),
                                      "tuple") if g.signin else (None, None)
    app.logger.debug("uid: {}, sid: {}".format(g.uid, g.sid))
    g.api = api
    g.ip = request.headers.get('X-Real-Ip', request.remote_addr)
    g.agent = request.headers.get("User-Agent")
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
    # 上下文扩展点之请求后(返回前)
    before_request_hook = plugin.get_all_cep.get("before_request_hook")
    for cep_func in before_request_hook():
        cep_func(request=request, g=g)
    before_request_return = plugin.get_all_cep.get("before_request_return")
    for cep_func in before_request_return():
        resp = cep_func(request=request, g=g)
        try:
            success = resp.is_before_request_return
        except:
            logger.warn(
                "Plugin returns abnormalities when before_request_return")
        else:
            if success is True:
                return resp
예제 #2
0
파일: main.py 프로젝트: tom2jack/passport
def before_request():
    g.signin = verify_sessionId(request.cookies.get("sessionId"))
    g.sid, g.uid = analysis_sessionId(request.cookies.get("sessionId"),
                                      "tuple") if g.signin else (None, None)
    g.ip = request.headers.get('X-Real-Ip', request.remote_addr)
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
예제 #3
0
파일: ApiView.py 프로젝트: lue828/passport
def usersecurity():
    res = dict(msg=None, code=1)
    Action = request.args.get("Action")
    if request.method == "GET":
        if Action == "getSessions":
            sd = analysis_sessionId(request.cookies.get("sessionId"))
            if sd:
                res.update(code=0)
                data = dict()
                # 获取当前会话
                if request.args.get("getCurrentSession", True) in (True, "True", "true"):
                    browserType, browserDevice, browserOs, browserFamily = parse_userAgent(request.headers.get("User-Agent"))
                    area = getIpArea(g.ip)
                    if len(area.split()) >= 3:
                        area = area.split()[2]
                    CurrentSession = dict(iat=sd['iat'], exp=sd['exp'], browser=dict(family=" ".join(browserFamily.split()[:-1]), os=browserOs), ip=g.ip, area=area)
                    if g.sid:
                        CurrentSession["session"] = g.api.usersso.ssoGetWithSid(g.sid, True)
                    data["CurrentSession"]=CurrentSession
                # 获取其他会话
                if request.args.get("getOtherSession") in (True, "True", "true"):
                    OtherSession = [ g.api.usersso.ssoGetWithSid(sid, True) for sid in g.api.usersso.ssoGetRegisteredUserSid(g.uid) if g.sid != sid and g.api.usersso.ssoExistWithSid(sid) ]
                    data["OtherSession"] = OtherSession
                res["data"] = data
        elif Action == "getLoginHistory":
            # 获取登录历史
            sort = request.args.get("sort") or "desc"
            page = request.args.get("page") or 1
            limit = request.args.get("limit") or 10
            res = g.api.userprofile.listUserLoginHistory(uid=g.uid, page=page, limit=limit, sort=sort)
    logger.info(res)
    return jsonify(dfr(res))
예제 #4
0
파일: main.py 프로젝트: lue828/passport
def before_request():
    g.signin = verify_sessionId(request.cookies.get("sessionId"))
    g.sid, g.uid = analysis_sessionId(request.cookies.get("sessionId"), "tuple") if g.signin else (None, None)
    g.ip = request.headers.get('X-Real-Ip', request.remote_addr)
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
    # 上下文扩展点之请求后(返回前)
    before_request_hook = plugin.get_all_cep.get("before_request_hook")
    for cep_func in before_request_hook():
        cep_func(request=request, g=g)
예제 #5
0
파일: main.py 프로젝트: iicc/EauDouce
def before_request():
    g.startTime = time.time()
    g.signin    = verify_sessionId(request.cookies.get("sessionId"))
    g.sid,g.uid = analysis_sessionId(request.cookies.get("sessionId"), "tuple") if g.signin else (None, None)
    g.username  = g.uid
    g.api       = api
    g.plugins   = PLUGINS
    g.userinfo  = api.sso_get_userinfo(g.uid)
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
    logger.access.debug("sid: {}, uid: {}, userinfo: {}".format(g.sid, g.uid, g.userinfo))
예제 #6
0
def before_request():
    g.signin = verify_sessionId(request.cookies.get("sessionId"))
    g.sid, g.uid = analysis_sessionId(request.cookies.get("sessionId"),
                                      "tuple") if g.signin else (None, None)
    # 用户信息
    g.userinfo = get_userinfo(g.uid)
    app.logger.debug(g.userinfo)
    # 客户端IP地址
    g.ip = request.headers.get('X-Real-Ip', request.remote_addr)
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
예제 #7
0
def before_request():
    g.signin = verify_sessionId(request.cookies.get("sessionId"))
    g.sid, g.uid = analysis_sessionId(request.cookies.get("sessionId"), "tuple") if g.signin else (None, None)
    g.redis = from_url(REDIS)
    g.site = getSystem(g.redis, sysKey)["data"]
    print g.uid
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
    # 上下文扩展点之请求后(返回前)
    before_request_hook = plugin.get_all_cep.get("before_request_hook")
    for cep_func in before_request_hook():
        cep_func(request=request, g=g)
예제 #8
0
def before_request():
    sessionId = request.cookies.get("sessionId",
                                    request.headers.get("sessionId"))
    g.startTime = time.time()
    g.redis = create_redis_engine()
    g.mysql = create_mysql_engine()
    g.signin = verify_sessionId(sessionId)
    g.sid, g.uid = analysis_sessionId(sessionId,
                                      "tuple") if g.signin else (None, None)
    logger.debug("uid: {}, sid: {}".format(g.uid, g.sid))
    g.api = api
    g.ip = request.headers.get('X-Real-Ip', request.remote_addr)
    g.agent = request.headers.get("User-Agent")
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
예제 #9
0
파일: main.py 프로젝트: whatisnull/EauDouce
def before_request():
    g.startTime = time.time()
    g.signin = verify_sessionId(request.cookies.get("sessionId"))
    g.sid, g.uid = analysis_sessionId(request.cookies.get("sessionId"),
                                      "tuple") if g.signin else (None, None)
    g.username = g.uid
    g.api = api
    g.plugins = PLUGINS
    g.userinfo = api.sso_get_userinfo(g.uid)
    # 仅是重定向页面快捷定义
    g.redirect_uri = get_redirect_url()
    #上下文扩展点之请求后(返回前)
    before_request_hook = plugin.get_all_cep.get("before_request_hook")
    for cep_func in before_request_hook():
        cep_func(request=request, g=g)
    logger.access.debug("sid: {}, uid: {}, userinfo: {}".format(
        g.sid, g.uid, g.userinfo))