博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12.22
阅读量:4352 次
发布时间:2019-06-07

本文共 1892 字,大约阅读时间需要 6 分钟。

1.更新User对象,设置对内的_password

class User(db.Model):

    __tablename__ = 'user' 

    _password = db.Column(db.String(200), nullable=False) #内部使用

 

2.编写对外的password

from werkzeug.security import generate_password_hash, check_password_hash

    @property

    def password(self):  #外部使用,取值

        return self._password

    @password.setter

    def password(self, row_password):#外部使用,赋值

        self._password = generate_password_hash(row_password)

 

3.密码验证方法:

    def check_password(self, row_password): #密码验证

        result = check_password_hash(self._password,row_password)

        return result

 

4.登录验证:

        password1 = request.form.get('password')

        user = User.query.filter(User.username == username).first()

        if user:

            if user.check_password(password1):

class User(db.Model):    __tablename__ = 'user'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    username = db.Column(db.String(20), nullable=False)    _password = db.Column(db.String(200), nullable=False)  # 内部使用    @property    def password(self):  # 外部使用        return self._password    @password.setter    def password(self, row_password):        self._password = generate_password_hash(row_password)    def check_password(self, row_password):        result = check_password_hash(self._password, row_password)        return result
@app.route('/login/', methods=['GET', 'POST'])def login():    if request.method == 'GET':        return render_template('login.html')    else:        username = request.form.get('username')        password = request.form.get('password')        user = User.query.filter(User.username == username).first()        if user:            if user.check_password(password):                session['user'] = username                session['user_id']=user.id                session.permanent = True                return redirect(url_for('daohang'))            else:                return 'error username or password'

 

转载于:https://www.cnblogs.com/wuyishan/p/8087572.html

你可能感兴趣的文章
搜索框获取转移焦点事件
查看>>
解决js跨域问题
查看>>
使用 Spring 3 MVC HttpMessageConverter 功能构建 RESTful web 服务
查看>>
Java获取当前的系统时间
查看>>
UVALive 4643 Twenty Questions (压缩DP,4级)
查看>>
378. Kth Smallest Element in a Sorted Matrix
查看>>
asp.net下载文件几种方式
查看>>
Web Api通过Route、RoutePrefix等特性设置路由
查看>>
港澳台以及大陆正则表达式
查看>>
linux、windows搭建nginx出现问题集锦
查看>>
HTML5---1.语义化标签
查看>>
dataset转json的类
查看>>
hdu1814 Peaceful Commission 2-sat
查看>>
网站前端的收藏
查看>>
present的时候是可以直接回到第一个viewcon的
查看>>
关于安卓布局调试工具-hierarchyviewer
查看>>
顶级jQuery树插件
查看>>
操作系统Linux
查看>>
【php增删改查实例】第五节 - easyUI的基本使用
查看>>
python爬虫
查看>>