def POST(self): data = web.input() email = data.loginEmail password = data.loginPassword if not users.is_correct_password(email, password): # Validform插件需要返回JSON格式的数据 return '{"info":"邮箱或密码有误","status":"n"}' else: session.login(email) # raise web.seeother('/') return '{"info":"登录成功,欢迎回来","status":"y"}'
def login(email, password): s = get_session() if users.is_correct_password(email, password): s.is_logged = True user = users.get_user_by_email(email) s.username = user.get('name') s.userid = user.get('id') users.update_last_login(s.userid) logger.info('Usuario ' + s.username + ' (' + email + ')' + ' entrou no sistema!') return True else: logger.error('Usuario ' + email + ' tentou logar com a senha errada!') return False
def login_form(self): return form.Form( form.Textbox('email', form.notnull, vemail, description=u'邮箱', class_="form-control"), form.Password('password', form.notnull, description=u'密码', class_="form-control"), form.Button('Login', submit='submit', class_="btn btn-primary", html=u"登陆"), validators=[ form.Validator( 'Incorrect email / password combination.', lambda i: users.is_correct_password(i.email, i.password)), ])
from config import view, encryption_key, site_name, db user = session.get_session() siteName = site_name vemail = form.regexp(r'.+@.+', '邮箱格式不对') p = re.compile(r"(?:^|\s)[-a-z0-9_.+]+@(?:[-a-z0-9]+\.)+[a-z]{2,6}(?:\s|$)", re.IGNORECASE) #表单 login_form = form.Form( form.Textbox('email', form.notnull, vemail, description='邮箱:'), form.Password('password', form.notnull, description='密码:'), validators=[ form.Validator( '邮箱地址或密码不正确', lambda i: users.is_correct_password(i.email, i.password)) ]) register_form = form.Form( form.Textbox( 'username', form.notnull, form.Validator('用户名已存在.', lambda x: users.is_username_available(x)), #form.Validator('请以字母开头,不超过15个字母、数字,保存后不可修改', #todo #lambda x: users.is_username_available(x)), description='用户名(以字母开头的2-16个字母、数字组合):'), form.Textbox('email', form.notnull, vemail, form.Validator('邮箱已经存在.', lambda x: users.is_email_available(x)),
user = session.get_session() siteName = site_name vemail = form.regexp(r'.+@.+', '邮箱格式不对') p = re.compile(r"(?:^|\s)[-a-z0-9_.+]+@(?:[-a-z0-9]+\.)+[a-z]{2,6}(?:\s|$)", re.IGNORECASE) #表单 login_form = form.Form( form.Textbox('email', form.notnull, vemail, description='邮箱:'), form.Password('password', form.notnull, description='密码:'), validators = [ form.Validator('邮箱地址或密码不正确', lambda i: users.is_correct_password(i.email, i.password)) ] ) register_form = form.Form( form.Textbox('username', form.notnull, form.Validator('用户名已存在.', lambda x: users.is_username_available(x)), #form.Validator('请以字母开头,不超过15个字母、数字,保存后不可修改', #todo #lambda x: users.is_username_available(x)), description='用户名(以字母开头的2-16个字母、数字组合):'), form.Textbox('email', form.notnull, vemail, form.Validator('邮箱已经存在.',
from app.helpers import session from config import view login_form = form.Form( form.Textbox('username', form.notnull, description=u'用户名:'), form.Password('password', form.notnull, description='密码:'), form.Button('submit', type='submit', value='Login'), validators = [ form.Validator(u'用户名/密码错误 ', lambda i: users.is_correct_password(i.username, i.password)) ] ) def render_account(show='all', login_form=login_form(), on_success_message=''): return view.base( view.account(show, login_form, on_success_message)) class index: @session.login_required def GET(self): userid = session.get_user_id() user_data = users.get_user_by_id(userid) # print user_data return view.base(view.index(user_data))