def login(request):
"""the login view
"""
logger.debug('login start')
login_name = request.params.get('login', '')
password = request.params.get('password', '')
# get the user again (first got it in validation)
from stalker import User
from sqlalchemy import or_
user = User.query \
.filter(or_(User.login == login_name, User.email == login_name))\
.first()
if user and user.check_password(password):
logger.debug('Login successful!')
from pyramid.security import remember
headers = remember(request, login_name)
from stalker_pyramid.views.user import UserViews
user_view = UserViews(request)
user_view.entity_id = user.id
response = user_view.get_entity()
response.headers = headers
return response
else:
logger.debug('Bad Login')
from pyramid.httpexceptions import HTTPUnauthorized
return HTTPUnauthorized(detail='Bad Login')
评论列表
文章目录