mirror of https://github.com/tp4a/teleport
修正:当页面超时后,执行导入资产或导入用户的操作会失败,但得不到正确的错误原因。
parent
f565a7c92f
commit
878ca416b2
|
@ -4,7 +4,7 @@
|
|||
<div id="page-footer">
|
||||
<nav class="navbar navbar-fixed-bottom">
|
||||
<div class="container">
|
||||
<p>触维软件旗下产品 | TELEPORT v${app_ver.TP_SERVER_VER} | ©2015 - 2017 <a href="http://teleport.eomsoft.net/" target="_blank">触维软件</a>,保留所有权利。</p>
|
||||
<p>TELEPORT v${app_ver.TP_SERVER_VER} | ©2015 - 2018 <a href="http://www.tp4a.com/" target="_blank">TP4A</a>,保留所有权利。</p>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
|
|
@ -122,25 +122,36 @@ class TPBaseHandler(tornado.web.RequestHandler):
|
|||
def get_current_user(self):
|
||||
return self._user
|
||||
|
||||
def check_privilege(self, require_privilege):
|
||||
def check_privilege(self, require_privilege, need_process=True):
|
||||
if not self._user['_is_login']:
|
||||
if self._mode == self.MODE_HTTP:
|
||||
self.redirect('/auth/login?ref={}'.format(quote(self.request.uri)))
|
||||
if need_process:
|
||||
self.redirect('/auth/login?ref={}'.format(quote(self.request.uri)))
|
||||
elif self._mode == self.MODE_JSON:
|
||||
self.write_json(TPE_NEED_LOGIN)
|
||||
if need_process:
|
||||
self.write_json(TPE_NEED_LOGIN)
|
||||
else:
|
||||
raise RuntimeError("invalid request mode.")
|
||||
if need_process:
|
||||
raise RuntimeError("invalid request mode.")
|
||||
else:
|
||||
return TPE_HTTP_METHOD
|
||||
return TPE_NEED_LOGIN
|
||||
|
||||
else:
|
||||
if (self._user['privilege'] & require_privilege) != 0:
|
||||
return TPE_OK
|
||||
|
||||
if self._mode == self.MODE_HTTP:
|
||||
self.show_error_page(TPE_PRIVILEGE)
|
||||
if need_process:
|
||||
self.show_error_page(TPE_PRIVILEGE)
|
||||
elif self._mode == self.MODE_JSON:
|
||||
self.write_json(TPE_PRIVILEGE)
|
||||
if need_process:
|
||||
self.write_json(TPE_PRIVILEGE)
|
||||
else:
|
||||
raise RuntimeError("invalid request mode.")
|
||||
if need_process:
|
||||
raise RuntimeError("invalid request mode.")
|
||||
else:
|
||||
return TPE_HTTP_METHOD
|
||||
|
||||
return TPE_PRIVILEGE
|
||||
|
||||
|
|
|
@ -160,24 +160,31 @@ class DoImportHandler(TPBaseHandler):
|
|||
def post(self):
|
||||
"""
|
||||
csv导入规则:
|
||||
每一行的数据格式: 操作系统类型,IP,名称,路由IP,路由端口,资产编号,协议类型,账号,认证类型,密码或私钥,账号提示,密码提示,分组,描述
|
||||
每一行的数据格式: 主机IP,操作系统类型,名称,路由IP,路由端口,资产编号,账号,协议类型,协议端口,认证类型,密码或私钥,账号提示,密码提示,分组,描述
|
||||
在导入时:
|
||||
0. 以“#”作为行注释。
|
||||
1. 首先必须是主机数据,随后可以跟多个账号数据(直到遇到下一个主机数据行之前,账号会与上一个主机关联)。
|
||||
2. 一个主机或账号属于多个组,可以用“|”将组分隔,如果某个组并不存在,则会创建这个组。
|
||||
3. 空行跳过,数据格式不正确的跳过。
|
||||
"""
|
||||
ret = self.check_privilege(TP_PRIVILEGE_ASSET_CREATE | TP_PRIVILEGE_ASSET_GROUP | TP_PRIVILEGE_USER_CREATE | TP_PRIVILEGE_USER_GROUP)
|
||||
if ret != TPE_OK:
|
||||
return
|
||||
ret = dict()
|
||||
ret['code'] = TPE_OK
|
||||
ret['message'] = ''
|
||||
|
||||
rv = self.check_privilege(TP_PRIVILEGE_ASSET_CREATE | TP_PRIVILEGE_ASSET_GROUP | TP_PRIVILEGE_USER_CREATE | TP_PRIVILEGE_USER_GROUP, need_process=False)
|
||||
if rv != TPE_OK:
|
||||
ret['code'] = rv
|
||||
if rv == TPE_NEED_LOGIN:
|
||||
ret['message'] = '需要登录!'
|
||||
elif rv == TPE_PRIVILEGE:
|
||||
ret['message'] = '权限不足!'
|
||||
else:
|
||||
ret['message'] = '未知错误!'
|
||||
return self.write(json.dumps(ret).encode('utf8'))
|
||||
|
||||
# success = list()
|
||||
failed = list()
|
||||
group_failed = list()
|
||||
|
||||
ret = dict()
|
||||
ret['code'] = TPE_OK
|
||||
ret['message'] = ''
|
||||
csv_filename = ''
|
||||
|
||||
try:
|
||||
|
|
|
@ -310,17 +310,26 @@ class DoImportHandler(TPBaseHandler):
|
|||
2. 一个用户属于多个组,可以用“|”将组分隔,如果某个组并不存在,则会创建这个组。
|
||||
3. 空行跳过,数据格式不正确的跳过。
|
||||
"""
|
||||
ret = self.check_privilege(TP_PRIVILEGE_USER_CREATE | TP_PRIVILEGE_USER_GROUP)
|
||||
if ret != TPE_OK:
|
||||
return
|
||||
|
||||
success = list()
|
||||
failed = list()
|
||||
group_failed = list()
|
||||
|
||||
ret = dict()
|
||||
ret['code'] = TPE_OK
|
||||
ret['message'] = ''
|
||||
|
||||
rv = self.check_privilege(TP_PRIVILEGE_USER_CREATE | TP_PRIVILEGE_USER_GROUP, need_process=False)
|
||||
if rv != TPE_OK:
|
||||
ret['code'] = rv
|
||||
ret['code'] = rv
|
||||
if rv == TPE_NEED_LOGIN:
|
||||
ret['message'] = '需要登录!'
|
||||
elif rv == TPE_PRIVILEGE:
|
||||
ret['message'] = '权限不足!'
|
||||
else:
|
||||
ret['message'] = '未知错误!'
|
||||
return self.write(json.dumps(ret).encode('utf8'))
|
||||
|
||||
success = list()
|
||||
failed = list()
|
||||
group_failed = list()
|
||||
csv_filename = ''
|
||||
|
||||
try:
|
||||
|
|
Loading…
Reference in New Issue