本文整理汇总了Python中werkzeug.check_password_hash函数的典型用法代码示例。如果您正苦于以下问题:Python check_password_hash函数的具体用法?Python check_password_hash怎么用?Python check_password_hash使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了check_password_hash函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: login
def login():
if session.get('user_id'):
return redirect(url_for('topic.tab_view'))
error = None
if request.method == 'POST':
if '@' in request.form['username']:
user = User.query.filter_by(email=request.form['username']).first()
if user is None:
error = u'用户名错误!'
elif not check_password_hash(user.password,request.form['password']):
error = u'密码错误!'
else:
flash(u'登录成功!')
session['user_id'] = user.id
return redirect(url_for('topic.tab_view'))
else:
user = User.query.filter_by(name=request.form['username']).first()
if user is None:
error = u'用户名错误!'
elif not check_password_hash(user.password,request.form['password']):
error = u'密码错误!'
else:
flash(u'登录成功!')
session['user_id'] = user.id
session.permanent = True
return redirect(url_for('topic.tab_view'))
return render_template('login.html', error=error)
示例2: test_users_account_route_account
def test_users_account_route_account(self):
"""Ensure users account actually create the user"""
# add user to database
user = User(username='john', password=generate_password_hash('a'), email='[email protected]')
db.session.add(user)
db.session.commit()
self.login(email='[email protected]', password='a')
response = self.app.post('/users/account/', data=dict(
username='tomeker',
email='[email protected]',
password='aaaaaa',
confirm='aaaaaa',
old_password='a'
), follow_redirects=True)
self.assertTrue(response.status_code == 200)
self.assertTemplateUsed('users/account.html')
self.assertIn(b'The changes have been saved', response.data)
updated_user = User.query.filter_by(username='tomeker').first()
self.assertTrue(updated_user is not None)
self.assertTrue(updated_user.email == '[email protected]')
self.assertTrue(check_password_hash(updated_user.password, 'aaaaaa'))
old_user = User.query.filter_by(username='john').first()
self.assertTrue(old_user is None)
# SECOND USER - ONLY USERNAME
self.logout()
# add user to database
second_user = User(username='john', password=generate_password_hash('a'), email='[email protected]')
db.session.add(second_user)
db.session.commit()
self.login(email='[email protected]', password='a')
response = self.app.post('/users/account/', data=dict(
username='tomekerer',
email='[email protected]',
password='',
confirm='',
old_password=''
), follow_redirects=True)
self.assertTrue(response.status_code == 200)
self.assertTemplateUsed('users/account.html')
self.assertIn(b'The changes have been saved', response.data)
updated_user = User.query.filter_by(username='tomekerer').first()
self.assertTrue(updated_user is not None)
self.assertTrue(updated_user.email == '[email protected]')
self.assertTrue(check_password_hash(updated_user.password, 'a'))
示例3: authenticate
def authenticate(self, identifier, secret):
user = User.query.filter(
db.or_(User.username == identifier, User.email == identifier)
).first()
if user is not None:
if check_password_hash(user.password, secret):
return user
return None
check_password_hash("dummy password", secret)
return None
示例4: extauth
def extauth():
app.logger.info(repr(request.form))
email = request.form['email']
password = request.form['password']
eid = int(request.form['eid'])
user = User.query.filter_by(email=email).first()
if user:
if check_password_hash(user.pwdhash, password):
d = dict(user.__dict__)
d.pop('_sa_instance_state')
d['success'] = True
e = user.events.all()
eids = [i.id for i in e]
if eid in eids:
d['event_registered'] = True
else:
d['event_registered'] = False
r = Registration(user.id,eid)
db.session.add(r)
db.session.commit()
return jsonify(d)
else:
return jsonify({'success':False})
else:
return jsonify(success = False)
示例5: landing_page
def landing_page():
if session.get('logged_in'):
return redirect(url_for('users.show_entries'))
if not session.get('logged_in'):
"""
Login form
"""
form = LoginForm(request.form)
# make sure data are valid, but doesn't validate password is right
if form.validate_on_submit():
user = User.query.filter_by(email=form.email.data).first()
# we use werzeug to validate user's password
if user and check_password_hash(user.password, form.password.data):
# the session can't be modified as it's signed,
# it's a safe place to store the user id
session['user_id'] = user.id
session['logged_in'] = True
flash('Welcome %s' % user.name)
return redirect(url_for('users.show_entries'))
flash('Wrong email or password', 'error-message')
return (
render_template(
'base.html', form=form)
)
示例6: check_password
def check_password(self, password):
"""
Check passwords. If passwords match it returns true, else false
"""
if self.password is None:
return False
return check_password_hash(self.password, password)
示例7: validateLogin
def validateLogin():
try:
_username = request.form['inputEmail']
_password = request.form['inputPassword']
conn = mysql.connect()
cursor = conn.cursor()
#cursor.callproc('sp_validateLogin',(_username,))
cursor.execute("SELECT * FROM tbl_user where user_username='" + _username + "'")
data = cursor.fetchall()
if len(data) > 0:
row = data[0]
if check_password_hash(str(data[0][3]),_password):
session['user'] = row[0]
session['username'] = row[1]
return redirect('/showDashboard')
else:
return render_template('error.html',error = 'Wrong Email address or Password!')
else:
return render_template('error.html',error = 'Len not 0 Wrong Email address or Password!')
except Exception as e:
return render_template('error.html',error = str(e))
finally:
cursor.close()
conn.close()
示例8: login
def login():
""" logs in the user. if the username doesn't exist creates the account """
if not request.form['username']:
flash('You have to enter a username')
elif not request.form['password']:
flash('You have to enter a password')
elif get_user_id(request.form['username']) is not None:
# username already exists, fetch all of its attributes
user = query_db('''select * from user where
username = ?''', [request.form['username']], one=True)
if check_password_hash(user['pw_hash'], request.form['password']):
# password is correct, log in the user
session['user_id'] = get_user_id(request.form['username'])
flash('User ' + request.form['username'] + ' logged in.')
else:
# incorrect password
flash('User ' + request.form['username'] + ' already exists, wrong password.')
else:
# create account and log in
creation_time = int(time.time())
g.db.execute('''insert into user (username, pw_hash, creation_time) values (?, ?, ?)''',
[request.form['username'],
generate_password_hash(request.form['password']),
creation_time])
user_id = g.db.execute('select last_insert_rowid()').fetchall()[0][0]
g.db.commit()
session['user_id'] = user_id
flash('New account %s created' % (request.form['username'], ))
return redirect(url_for('intmain'))
示例9: login
def login():
"""
We had to do some extra work to route the user back to
his or her original place before logging in
"""
if g.user:
return redirect(url_for('frontends.home'))
next = ''
if request.method == 'GET':
if 'next' in request.args:
next = request.args['next']
form = LoginForm(request.form)
# make sure data is valid, but doesn't validate password is right
if form.validate_on_submit():
# continue where we left off if so
user = User.query.filter_by(email=form.email.data).first()
# we use werzeug to validate user's password
if user and check_password_hash(user.password, form.password.data):
# the session can't be modified as it's signed,
# it's a safe place to store the user id
session['user_id'] = user.id
if 'next' in request.form and request.form['next']:
return redirect(request.form['next'])
return redirect(url_for('frontends.home'))
flash('Wrong email or password', 'danger')
return render_template("login.html", form=form, next=next)
示例10: login
def login():
"""Logs the user in."""
if g.user:
return redirect(url_for('wordlist'))
error = None
if request.method == 'POST':
user = query_db('''select * from user where
username = ?''', [request.form['username']], one=True)
if user is None:
error = 'Invalid username'
elif not check_password_hash(user['pw_hash'],
request.form['password']):
error = 'Invalid password'
else:
flash('You were logged in')
session['user_id'] = user['user_id']
if user['wbtoken'] is None:
return redirect(url_for('linkwb'))
session['wbtoken'] = user['wbtoken']
session['wbtokenexpire'] = user['wbtokenexpire']
if user['dict'] is None:
return redirect(url_for('choosedict'))
session['dict']= user['dict']
session['wordnum']=100
return redirect(url_for('wordlist'))
return render_template('login.html', error=error)
示例11: login
def login():
if current_user.is_authenticated():
return jsonify(result="Already logged in.")
if request.method == "POST" and "username" in request.json:
username = request.json["username"]
password = request.json["password"]
if not username or not password:
return jsonify(result="Empty username or password.")
else:
try:
user_record = User.objects.get(username=username)
except:
user_record = None
if user_record is None:
return jsonify(result="Please check you username or password.")
elif not check_password_hash(user_record['pw_hash'], password):
return jsonify(result="Please check you username or password.")
else:
user_record.date_logged_in = datetime.now()
user_record.save()
usr_obj = UserLogin(user_record)
if login_user(usr_obj):
return json_response(str(current_user))
# return jsonify(result="authorized")
else:
return jsonify(result="Invalid password.")
示例12: password_is
def password_is(self, password):
if self.pw_hash is None:
return False
if self.pw_hash.startswith('sha1$'):
return check_password_hash(self.pw_hash, password)
else:
return bcrypt.hashpw(password, self.pw_hash) == self.pw_hash
示例13: login
def login():
if request.method == 'POST':
try:
username = request.form['username']
password = request.form['password']
db = mysql.connect()
cursor = db.cursor()
cursor.callproc('validateLogin',(username))
data = cursor.fetchall()
if len(data) > 0:
if check_password_hash(str(data[0][3]),password):
session['user'] = data[0][0]
return redirect('/')
else:
return render_template('error.html',error = 'Wrong username or Password.')
else:
return render_template('error.html',error = 'Wrong username or Password.')
except Exception as e:
return render_template('error.html',error = str(e))
finally:
cursor.close()
db.close()
if session.get('user'):
return render_template('userHome.html')
else:
return render_template('signin.html')
示例14: save_user
def save_user():
users = get_all_users()
if request.method == 'POST':
next_user_id = len(users) + 1
username = request.form['username']
password = request.form['password']
input_password = password
password = set_password(password)
found_user = get_user_with_username(username)
if len(found_user) != 0:
ans_password = found_user['password']
if check_password_hash(ans_password, input_password):
session['logged_in'] = True
session['user_id'] = str(next_user_id)
session['username'] = username
return redirect('/')
else :
posts = get_all_posts()
ret_posts = get_all_post_information(posts)
return render_template('/signup.html',ret_posts=ret_posts,error_message=u'비밀번호가 틀리셨어요!')
created_at = datetime.datetime.now()
s = '%d %s %s %s\n'%(next_user_id,username,password,str(created_at))
base_path = '/var/www/flask_blog/flask_blog/post/'
user_path = base_path + 'user'
with open(user_path,'a') as fp:
fp.write(s)
session['logged_in'] = True
session['user_id'] = str(next_user_id)
session['username'] = username
return redirect('/')
示例15: login
def login():
if current_user.is_authenticated():
return redirect(url_for('home'))
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
user=User.query.filter(User.code_name==username).first()
if username is None or user is None:
flash(u'无效用户名!')
return redirect(url_for('login'))
else:
auth = check_password_hash(user.password, password)
if not auth:
flash(u'无效密码!')
return redirect(url_for('login'))
else:
# 用户信息放入session
login_user(user)
# navbar放入session
session['navbar'] = current_user_navbar(current_user.id)
return redirect(url_for('home'))
return render_template('index.html')