Использование аутентификации pyramid с pyramid

В документации по пирамиде учебник по диспетчеризации Sqlalchemy использует фиктивные данные в security.py. Мне нужно было использовать данные mysql, поэтому я реализовал это следующим образом:

Мой код входа

@view_config(route_name='login', renderer='json',permission='view')
def user_login(request):
    session = DBSession
    username = request.params['username']
    password = request.params['password']
    sha = hashlib.md5()
    sha.update(password)
    password = sha.digest().encode('hex')
    user = session.query(Users).filter(and_(Users.username==username,Users.password ==password)).count()   
    if(user != 0):
        headers = remember(request, username)
        return HTTPFound(location = '/index/',
                             headers =headers)
    else:
        print "error"

Приведенный выше код заставляет систему запомнить имя пользователя, которое будет использовано в security.py. Ниже я использую это, чтобы получить группу, в которой находится пользователь.

from .models import (
    DBSession,
    Users,
    )

def groupfinder(userid, request): 
    session = DBSession()
    for instance in session.query(Users).filter(Users.username==userid):
        group = 'group:'+instance.group  
        lsth = {'userid':[group]}
        return lsth.get  ('userid')   

Это лучший способ использовать авторизацию пирамиды?

10
задан mshell_lauren 15 October 2015 в 18:12
поделиться