在金字塔文檔中,Sqlalchemy Dispatch教程使用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')
這是使用金字塔授權的最好方法?
我不得不說,這段代碼對於SQLAlchemy身份驗證如何工作(或可以工作)是一個很好的簡要介紹。 – phsource 2012-05-31 18:45:20