teleport/server/www/teleport/static/js/tp-const.js

365 lines
14 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";
var TP_LOGIN_AUTH_SYS_DEFAULT = 0; // 系统默认
var TP_LOGIN_AUTH_USERNAME_PASSWORD = 0x0001; // 用户名+密码
var TP_LOGIN_AUTH_USERNAME_PASSWORD_CAPTCHA = 0x0002; // 用户名+密码+验证码
var TP_LOGIN_AUTH_USERNAME_OATH = 0x0004; // 用户名+OATH
var TP_LOGIN_AUTH_USERNAME_PASSWORD_OATH = 0x0008; // 用户名+密码+OATH
//=======================================================
// 远程连接认证方式
//=======================================================
var TP_AUTH_TYPE_NONE = 0;
var TP_AUTH_TYPE_PASSWORD = 1;
var TP_AUTH_TYPE_PRIVATE_KEY = 2;
//=======================================================
// 远程连接协议
//=======================================================
var TP_PROTOCOL_TYPE_RDP = 1;
var TP_PROTOCOL_TYPE_SSH = 2;
var TP_PROTOCOL_TYPE_TELNET = 3;
//=======================================================
// 远程连接子协议
//=======================================================
var TP_PROTOCOL_TYPE_RDP_DESKTOP = 100;
var TP_PROTOCOL_TYPE_SSH_SHELL = 200;
var TP_PROTOCOL_TYPE_SSH_SFTP = 201;
var TP_PROTOCOL_TYPE_TELNET_SHELL = 300;
//=======================================================
// 远程主机操作系统
//=======================================================
var TP_OS_TYPE_WINDOWS = 1;
var TP_OS_TYPE_LINUX = 2;
// =======================================================
// 远程连接会话状态
// =======================================================
var TP_SESS_STAT_RUNNING = 0; // 会话开始了,尚未结束,还在连接过程中
var TP_SESS_STAT_END = 9999; // 会话成功结束
var TP_SESS_STAT_ERR_AUTH_DENIED = 1; // 会话结束,因为认证失败
var TP_SESS_STAT_ERR_CONNECT = 2; // 会话结束,因为无法连接到远程主机
var TP_SESS_STAT_ERR_BAD_SSH_KEY = 3; // 会话结束因为无法识别SSH私钥
var TP_SESS_STAT_ERR_INTERNAL = 4; // 会话结束,因为内部错误
var TP_SESS_STAT_ERR_UNSUPPORT_PROTOCOL = 5; // 会话结束,因为协议不支持(RDP)
var TP_SESS_STAT_ERR_BAD_PKG = 6; // 会话结束,因为收到错误的报文
var TP_SESS_STAT_ERR_RESET = 7; // 会话结束因为teleport核心服务重置了
var TP_SESS_STAT_ERR_IO = 8; // 会话结束,因为网络中断
var TP_SESS_STAT_ERR_SESSION = 9; // 会话结束因为无效的会话ID
var TP_SESS_STAT_ERR_AUTH_TYPE = 10; // // 会话结束,因为服务端不支持此认证方式
var TP_SESS_STAT_STARTED = 100; // 已经连接成功了,开始记录录像了
var TP_SESS_STAT_ERR_START_INTERNAL = 104; // 会话结束,因为内部错误
var TP_SESS_STAT_ERR_START_BAD_PKG = 106; // 会话结束,因为收到错误的报文
var TP_SESS_STAT_ERR_START_RESET = 107; // 会话结束因为teleport核心服务重置了
var TP_SESS_STAT_ERR_START_IO = 108; // 会话结束,因为网络中断
// ==========================================================================
// 对象类型
// ==========================================================================
var TP_USER = 1;
var TP_GROUP_USER = 2;
var TP_ACCOUNT = 3;
var TP_GROUP_ACCOUNT = 4;
var TP_HOST = 5;
var TP_GROUP_HOST = 6;
// =======================================================
// 对象状态(用户/用户组/主机/主机组/账号/账号组/运维授权策略/审计授权策略/...
// =======================================================
var TP_STATE_NORMAL = 1; // 正常
var TP_STATE_DISABLED = 2; // 禁用
var TP_STATE_LOCKED = 3; // 临时禁用用于用户登录连续错误n次
var TP_USER_TYPE_LOCAL = 1;
var TP_USER_TYPE_LDAP = 2;
// =======================================================
// 授权策略对象
// =======================================================
var TP_POLICY_OPERATOR = 0; // 授权(操作者:用户/用户组)
var TP_POLICY_ASSET = 1; // 被授权(资产:主机/主机组/账号/账号组)
// =======================================================
// 授权策略方式
// =======================================================
var TP_POLICY_AUTH_UNKNOWN = 0; // 0=未知
var TP_POLICY_AUTH_USER_ACC = 1; // 1=用户:账号
var TP_POLICY_AUTH_USER_gACC = 2; // 2=用户:账号组
var TP_POLICY_AUTH_USER_HOST = 3; // 3=用户:主机
var TP_POLICY_AUTH_USER_gHOST = 4; // 4=用户:主机组
var TP_POLICY_AUTH_gUSER_ACC = 5; // 5=用户组:账号
var TP_POLICY_AUTH_gUSER_gACC = 6; // 6=用户组:账号组
var TP_POLICY_AUTH_gUSER_HOST = 7; // 7=用户组:主机
var TP_POLICY_AUTH_gUSER_gHOST = 8; // 8=用户组:主机组
// =======================================================
// 授权标记
// =======================================================
var TP_FLAG_ALL = 0xFFFFFFFF;
// 会话记录相关
var TP_FLAG_RECORD_REPLAY = 0x0001; // 允许记录历史(录像回放)
var TP_FLAG_RECORD_REAL_TIME = 0x0002; // 允许实时监控
// RDP相关
var TP_FLAG_RDP_DESKTOP = 0x0001; // 0x1=允许远程桌面
var TP_FLAG_RDP_CLIPBOARD = 0x0002; // 0x2=允许剪贴板
var TP_FLAG_RDP_DISK = 0x0004; // 0x4=允许磁盘映射
var TP_FLAG_RDP_APP = 0x0008; // 0x8=允许远程APP尚未实现
var TP_FLAG_RDP_CONSOLE = 0x1000; // 0x1000=允许连接到管理员会话RDP的console选项
// SSH相关
var TP_FLAG_SSH_SHELL = 0x0001; // 0x1=允许SHELL
var TP_FLAG_SSH_SFTP = 0x0002; // 0x2=允许SFTP
var TP_FLAG_SSH_X11 = 0x0004; // 0x4=允许X11转发尚未实现
var TP_FLAG_SSH_EXEC = 0x0008; // 0x8=允许exec执行远程命令尚未实现
var TP_FLAG_SSH_TUNNEL = 0x0010; // 0x10=allow ssh tunnel. (not impl.)
// ==========================================================================
// 权限定义因为权限是可以组合的所以使用按位或的方式目前最多能够支持32个权限粒度
// ==========================================================================
var TP_PRIVILEGE_NONE = 0;
var TP_PRIVILEGE_ALL = 0xFFFFFFFF;// # 具有所有权限(仅限系统管理员角色)
var TP_PRIVILEGE_LOGIN_WEB = 0x00000001;// # 允许登录WEB
var TP_PRIVILEGE_USER_CREATE = 0x00000002;// # 创建/编辑用户
var TP_PRIVILEGE_USER_DELETE = 0x00000004;// # 删除用户
var TP_PRIVILEGE_USER_LOCK = 0x00000008;// # 锁定/解锁用户
var TP_PRIVILEGE_USER_GROUP = 0x00000010;// # 用户分组管理
var TP_PRIVILEGE_ASSET_CREATE = 0x00000020;// # 创建/编辑资产
var TP_PRIVILEGE_ASSET_DELETE = 0x00000040;// # 删除资产
var TP_PRIVILEGE_ASSET_LOCK = 0x00000080;// # 锁定/解锁资产
var TP_PRIVILEGE_ASSET_GROUP = 0x00000100;// # 资产分组管理
var TP_PRIVILEGE_OPS = 0x00000200;// # 远程主机运维
var TP_PRIVILEGE_ACCOUNT = 0x00000400;// # 远程主机账号管理(增删改查)
var TP_PRIVILEGE_ACCOUNT_GROUP = 0x00000800;// # 远程主机账号分组管理
var TP_PRIVILEGE_OPS_AUZ = 0x00001000;// # 远程主机运维授权管理
var TP_PRIVILEGE_SESSION_BLOCK = 0x00002000;// # 阻断在线会话
var TP_PRIVILEGE_SESSION_VIEW = 0x00004000;// # 查看在线会话
var TP_PRIVILEGE_AUDIT = 0x00008000;// # 审计(查看历史会话)
var TP_PRIVILEGE_AUDIT_AUZ = 0x00010000;// # 审计策略授权管理
//var TP_PRIVILEGE_AUDIT_SYSLOG = 0x00020000;// # 查看系统日志
var TP_PRIVILEGE_SYS_ROLE = 0x00040000;// # 角色管理
var TP_PRIVILEGE_SYS_CONFIG = 0x00080000;// # 系统配置维护
//var TP_PRIVILEGE_SYS_OPS_HISTORY = 0x00100000;// # 历史会话管理(例如删除历史会话、设定多长时间之前的历史会话自动删除等)
var TP_PRIVILEGE_SYS_LOG = 0x00200000;// # 查看系统日志
var TP_PRIVILEGES = [
TP_PRIVILEGE_LOGIN_WEB,
TP_PRIVILEGE_USER_CREATE,
TP_PRIVILEGE_USER_DELETE,
TP_PRIVILEGE_USER_LOCK,
TP_PRIVILEGE_USER_GROUP,
TP_PRIVILEGE_ASSET_CREATE,
TP_PRIVILEGE_ASSET_DELETE,
TP_PRIVILEGE_ASSET_LOCK,
TP_PRIVILEGE_ASSET_GROUP,
TP_PRIVILEGE_OPS,
TP_PRIVILEGE_ACCOUNT,
TP_PRIVILEGE_ACCOUNT_GROUP,
TP_PRIVILEGE_OPS_AUZ,
TP_PRIVILEGE_SESSION_BLOCK,
TP_PRIVILEGE_SESSION_VIEW,
TP_PRIVILEGE_AUDIT,
TP_PRIVILEGE_AUDIT_AUZ,
//TP_PRIVILEGE_AUDIT_SYSLOG,
TP_PRIVILEGE_SYS_ROLE,
TP_PRIVILEGE_SYS_CONFIG,
//TP_PRIVILEGE_SYS_OPS_HISTORY,
TP_PRIVILEGE_SYS_LOG
];
//========================================================
// 错误值(请参考源代码/common/teleport/teleport_const.h
//========================================================
var TPE_OK = 0;
//-------------------------------------------------------
// 通用错误值
//-------------------------------------------------------
var TPE_NEED_MORE_DATA = 1; // 需要更多数据(不一定是错误)
var TPE_NEED_LOGIN = 2;
var TPE_PRIVILEGE = 3;
var TPE_NOT_IMPLEMENT = 7; // 尚未实现
var TPE_EXISTS = 8;
var TPE_NOT_EXISTS = 9;
// 100~299是通用错误值
var TPE_FAILED = 100; // 内部错误
var TPE_NETWORK = 101; // 网络错误
var TPE_DATABASE = 102; // 数据库操作失败
var TPE_EXPIRED = 103; // 数据/操作等已过期
// HTTP请求相关错误
var TPE_HTTP_METHOD = 120; // 无效的请求方法不是GET/POST等或者错误的请求方法例如需要POST却使用GET方式请求
var TPE_HTTP_URL_ENCODE = 121; // URL编码错误无法解码
var TPE_UNKNOWN_CMD = 124; // 未知的命令
var TPE_JSON_FORMAT = 125; // 错误的JSON格式需要JSON格式数据但是却无法按JSON格式解码
var TPE_PARAM = 126; // 参数错误
var TPE_DATA = 127; // 数据错误
var TPE_OPENFILE = 300; // 无法打开文件
var TPE_HTTP_404_NOT_FOUND = 404;
var TPE_CAPTCHA_EXPIRED = 10000;
var TPE_CAPTCHA_MISMATCH = 10001;
var TPE_OATH_MISMATCH = 10002;
var TPE_SYS_MAINTENANCE = 10003;
var TPE_OATH_ALREADY_BIND = 10004;
var TPE_USER_LOCKED = 10100;
var TPE_USER_DISABLED = 10101;
var TPE_USER_AUTH = 10102;
//-------------------------------------------------------
// 助手程序专用错误值
//-------------------------------------------------------
var TPE_NO_ASSIST = 100000; // 未能检测到助手程序
var TPE_OLD_ASSIST = 100001; // 助手程序版本太低
var TPE_START_CLIENT = 100002; // 无法启动客户端程序(无法创建进程)
//-------------------------------------------------------
// 核心服务专用错误值
//-------------------------------------------------------
var TPE_NO_CORE_SERVER = 200000; // 未能检测到核心服务
// ==========================================================================
// 数据库类型
// ==========================================================================
var DB_TYPE_UNKNOWN = 0;
var DB_TYPE_SQLITE = 1;
var DB_TYPE_MYSQL = 2;
var PAGING_SELECTOR = {
// use_cookie: true,
default_select: '25',
selections: [
{name: '10', val: 10},
{name: "25", val: 25},
{name: "50", val: 50},
{name: "100", val: 100}]
};
function tp_error_msg(error_code, message) {
var msg = '';
switch (error_code) {
case TPE_NEED_LOGIN:
msg = '需要刷新页面,重新登录';
break;
case TPE_PRIVILEGE:
msg = '没有此操作权限';
break;
case TPE_EXISTS:
msg = '已经存在';
break;
case TPE_NOT_EXISTS:
msg = '不存在';
break;
case TPE_FAILED:
msg = '内部错误';
break;
case TPE_NETWORK:
msg = '网络错误';
break;
case TPE_DATABASE:
msg = '数据库操作失败';
break;
//-------------------------------------------------------
// HTTP请求相关错误
//-------------------------------------------------------
case TPE_HTTP_METHOD:
msg = '无效/错误的请求方法';
break;
case TPE_HTTP_URL_ENCODE:
msg = 'URL编码错误无法解码';
break;
case TPE_UNKNOWN_CMD:
msg = '未知命令';
break;
case TPE_JSON_FORMAT:
msg = '错误的JSON格式数据';
break;
case TPE_PARAM:
msg = '参数错误';
break;
case TPE_DATA:
msg = '数据错误';
break;
case TPE_OPENFILE:
msg = '无法打开文件';
break;
case TPE_CAPTCHA_EXPIRED:
msg = '验证码已失效';
break;
case TPE_CAPTCHA_MISMATCH:
msg = '验证码错误';
break;
case TPE_OATH_MISMATCH:
msg = '身份验证器动态验证码错误';
break;
case TPE_SYS_MAINTENANCE:
msg = '系统维护中';
break;
case TPE_OATH_ALREADY_BIND:
msg = '该账号已经绑定了身份验证器,如无法使用,请联系管理员重置密码或更换登陆方式';
break;
case TPE_USER_LOCKED:
msg = '账号已被锁定';
break;
case TPE_USER_DISABLED:
msg = '账号已被禁用';
break;
case TPE_USER_AUTH :
msg = '用户名/密码错误';
break;
//-------------------------------------------------------
// 助手程序专用错误值
//-------------------------------------------------------
case TPE_NO_ASSIST:
msg = '未能检测到助手程序';
break;
case TPE_OLD_ASSIST:
msg = '助手程序版本太低';
break;
case TPE_START_CLIENT:
msg = '无法启动客户端程序(无法创建进程)';
break;
//-------------------------------------------------------
// 核心服务专用错误值
//-------------------------------------------------------
case TPE_NO_CORE_SERVER:
msg = '未能检测到核心服务';
break;
default:
msg = '未知错误';
break;
}
var ret_msg = message || msg;
return ret_msg + ' (' + error_code + ')';
}