@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...