博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
密码保护
阅读量:4654 次
发布时间:2019-06-09

本文共 1902 字,大约阅读时间需要 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)    nickname = db.Column(db.String(20))    @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:        usern = request.form.get("usern")        passw = request.form.get("userp")        user = User.query.filter(User.username==usern).first()        if user:            if user.check_password(passw):                session["user"] = usern                session["id"] = user.id                session.permanent = True                return redirect(url_for("first"))            else:                return "密码错误,请重新输入!"        else:            return "用户名不存在!"

 

转载于:https://www.cnblogs.com/yin-yeah/p/8085165.html

你可能感兴趣的文章
445port入侵具体解释
查看>>
事务并发、事务隔离级别
查看>>
求无序数组中第二大的数--快速选择
查看>>
ios文字描边
查看>>
linux命令之pssh命令
查看>>
redis
查看>>
一个JQUERY文件
查看>>
多角度比较市面上的主流「移动推送服务」
查看>>
intellij 设置-试验过的
查看>>
cf 12C Fruits(贪心【简单数学】)
查看>>
探索WebKit内核(一)------ 菜鸟起步
查看>>
Redis Windows版安装详解
查看>>
linux后台运行python程序 nohup
查看>>
吴裕雄--天生自然 高等数学学习:对面积的曲面积分
查看>>
css
查看>>
HUST team contest #E A Mountain Road||poj 3846 (dp)
查看>>
Web应用程序整体测试基础——单元测试
查看>>
通过修改manifest文件来解决Vista/Win7/Win8/win10下应用程序兼容性问题
查看>>
Spark使用总结与分享
查看>>
JMETER - BEANSHELL获取响应结果
查看>>