我是 Tornado.web 的新手。
我只是用龙卷风在python中编写了一个网络服务。他被桌面应用程序占用。我想要求应用程序仅在经过身份验证后进行通信。
我搜索了示例,但找不到适用于我的案例的示例。
我是 Tornado.web 的新手。
我只是用龙卷风在python中编写了一个网络服务。他被桌面应用程序占用。我想要求应用程序仅在经过身份验证后进行通信。
我搜索了示例,但找不到适用于我的案例的示例。
您只需添加@tornado.web.authenticated
装饰器,并在您的应用程序login url
中指定您指定的debug=True
settings = dict({
"template_path": os.path.join(os.path.dirname(__file__),"templates"),
"static_path": os.path.join(os.path.dirname(__file__),"static"),
"cookie_secret": "make it harde to guess ;) ",
"xsrf_cookies": True,
"debug": False,
"gzip": True,
"login_url": "/#login",
"site_url":"http://localhost:8000",
})
最后,您从控制 cookie 存在的类继承您的类:
class BaseHandler(tornado.web.RequestHandler):
@tornado.web.removeslash
def get_current_user(self):
return self.get_secure_cookie("name_of_your_cookie")
例子:
class Test(BaseHandler):
@tornado.web.authenticated
def post(self):
user = self.get_secure_cookie("name_of_your_cookie")
# the rest of the code...
现在会发生什么,每次有人尝试进入将使用的链接时Test
,应用程序都会查看是否cookie
存在,否则,它将被重定向到login_url