pythonweb中显示auth_user怎么办
发布网友
发布时间:2023-04-30 23:14
我来回答
共1个回答
热心网友
时间:2023-10-10 03:28
似乎没有对Tornado中的基本身份验证提供任何特别的支持,所以您必须通过base64解码Authorization头来自己完成。
大概是这样的:
import base64
class BasicAuthHandler(tornado.web.RequestHandler):
def get_current_user(self):
scheme, _, token= self.request.headers.get('Authorization', '').partition(' ')
if scheme.lower()=='basic':
user, _, pwd= base64.decodestring(token).partition(':')
# if pwd matches user:
return user
return None
def get(self):
if not self.get_current_user():
self.set_status(401)
self.set_header('WWW-Authenticate', 'basic realm="Example site"')
# proce error/login page for user to see if they press escape to
# cancel authorisation
return
(未测试,因为我不跑旋风。)