#3 dyvniy » Ср, 5 сентября 2018, 14:56:40
tornado basic authentification
Код: Выделить всё
import tornado.ioloop
from tornado.web import RequestHandler, Application
from tornado_http_auth import DigestAuthMixin, BasicAuthMixin, auth_required
import ewsxml
credentials = {'user1': 'pass1'}
'''
# Example 1 (using decorator).
class MainHandler(DigestAuthMixin, RequestHandler):
@auth_required(realm='Protected', auth_func=credentials.get)
def get(self):
self.write('Hello %s' % self._current_user)
'''
class MainHandler(BasicAuthMixin, RequestHandler):
def prepare(self):
self.get_authenticated_user(check_credentials_func=credentials.get, realm='Protected')
print('get /')
def get(self):
self.write('Hello %s' % self._current_user)
class ExchangeAsmx(tornado.web.RequestHandler):
def get(self):
form = """<form method="post">
<input type="text" name="username"/>
<input type="text" name="designation"/>
<input type="submit"/>
</form>"""
print('get /ews/Exchange.asmx')
self.write(form)
def post(self):
print('post /ews/Exchange.asmx')
ewsxml.main(self)
def main():
app = Application([
(r'/', MainHandler),
(r'/ews/Exchange.asmx', ExchangeAsmx),
])
app.listen(85)
print('start server')
tornado.ioloop.IOLoop.current().start()
if __name__ == "__main__":
main()
