使用者登入,登出總結

2021-09-26 13:27:33 字數 2096 閱讀 7403

@api.route("/sessions", methods=["post"])

def login():

"""使用者登入

引數:使用者手機號、密碼 json

:return:

"""# 獲取引數

req_dict = request.get_json()

mobile = req_dict.get("mobile")

password = req_dict.get("password")

# 校驗引數

# 引數是否完整

if not all([mobile, password]):

return jsonify(errno=ret.paramerr, errmsg="引數不完整")

# 判斷手機號格式

if not re.match(r"1[34578]\d", mobile):

return jsonify(errno=ret.paramerr, errmsg="手機號碼格式錯誤")

# 判斷錯誤次數是否超過限制,如果超過限制,則返回

# redis記錄:"access_num_請求的ip":"次數"

user_ip = request.remote_addr # 使用者的ip位址

try:

access_nums = redis_store.get("access_num_%s" % user_ip)

except exception as e:

else:

if access_nums is not none and int(access_nums) >= login_error_max_times:

return jsonify(errno=ret.reqerr, errmsg="錯誤次數過多,請稍後重試")

# 從資料庫中根據手機號查詢使用者的資料物件

try:

user = user.query.filter_by(mobile=mobile).first()

except exception as e:

return jsonify(errno=ret.dberr, errmsg="獲取使用者資訊失敗")

# 用資料庫的密碼與使用者填寫的密碼進行匹配驗證

if user is none or user.check_password(password) is false:

# 如果驗證失敗,記錄錯誤次數,返回資訊

try:

redis_store.incr("access_num_%s" % user_ip)

redis_store.expire("access_num_%s" % user_ip, login_error_forbid_time)

except exception as e:

return jsonify(errno=ret.dataerr, errmsg="使用者名稱或密碼錯誤")

# 如果驗證相同成功,儲存登入狀態。

session["name"] = user.name

session['mobile'] = user.mobile

session["user_id"] = user.id

return jsonify(errno=ret.ok, errmsg="登陸成功")

@api.route("/session", methods=["get"])

def check_login():

"""檢查登入狀態"""

name = session.get("name")

if name is not none:

return jsonify(errno=ret.ok, errmsg="true", data=)

else:

return jsonify(errno=ret.sessionerr,errmsg="false")

@api.route("/session", methods=["delete"])

def logout():

"""退出登入"""

session.clear()

return jsonify(errno=ret.ok, errmsg="ok")

使用者登入登出

一 功能需求分析 1.登入功能分析 1.1登入流程 1.2功能 乙個請求為乙個功能 登入頁面 登入功能 登出功能 二 登入頁面 1.介面設計 1.1.介面說明 類目 說明 請求方式 get url定義 usel login 引數格式 無引數 1.2返回結果 登入頁面 1.3 實現 三 登入功能 1....

linux登出登入使用者

linux登出登入使用者 然後刪除該使用者 如下 進入根使用者 su 或者 su root w 或者 who a user tty from login idle jcpu pcpu what ch tty7 0 08 44 2 30m 12 09 0.16s gnome session ch pt...

0003 使用者登入和登出

使用者登入流程 使用者輸入 頁面校驗資料後提交表單 判斷是否已經登入 判斷輸入是否合法 查詢資料庫是否有對應使用者 返回登入結果 先對頁面表單提交位址和方式進行調整,輸入項新增required必填項屬性。因為要使用actionerror,在useraction繼承actionsupport類新增lo...