Compare commits

...

3312 Commits

Author SHA1 Message Date
ibuler
669f659843 fix: 修复ws引起的redis连接增加 2021-08-20 15:23:45 +08:00
ibuler
a718862b37 perf: 修改健康监测 2021-08-20 14:34:39 +08:00
Bai
52898e951e fix: 资产mini接口返回platform、protocols 2021-08-20 14:12:35 +08:00
xinwen
0f03fd1ee1 fix: 用户创建 500 2021-08-20 10:06:54 +08:00
Jiangjie.Bai
10e06a4533 Merge pull request #6692 from jumpserver/dev
v2.13.0
2021-08-19 18:52:25 +08:00
ibuler
98e38ebfd8 perf: 修复系统用户翻译 2021-08-19 17:26:38 +08:00
Bai
9660e20176 fix: 修复远程应用资产必填项 2021-08-19 16:28:51 +08:00
xinwen
21a7ec9fec fix: 升级时清空缓存 2021-08-19 15:45:59 +08:00
xinwen
7d123ff8c5 fix: 登录时验证码卡住 2021-08-19 15:19:01 +08:00
ibuler
2af6ac504d perf: 优化版本号 2021-08-19 11:15:10 +08:00
Jiangjie.Bai
6c8d1c4e77 Merge pull request #6680 from jumpserver/dev
v2.13.0 rc4
2021-08-18 19:50:17 +08:00
Bai
52d3e1b34b fix: 修改协议错误信息翻译 2021-08-18 19:33:50 +08:00
Bai
bf6fcc9020 fix: 修改翻译信息;添加水印配置项到页面 2021-08-18 19:14:49 +08:00
Bai
a0b756ebaa feat: 添加同步任务执行历史保留天数配置项 2021-08-18 18:30:10 +08:00
xinwen
5e8a55f949 fix: AuthBook 变动审计 2021-08-18 16:47:28 +08:00
xinwen
f9218584f4 fix: 组织统计里系统用户与特权用户数量不对 2021-08-18 16:46:01 +08:00
Bai
228446979f fix: 修改过期节点资产映射缓存清除 2021-08-18 15:37:40 +08:00
Bai
aa37d86959 fix: 将flower放到web服务中;修复账号列表过滤节点的逻辑,获取所有子节点。 2021-08-18 15:36:13 +08:00
feng626
0e9079fa2e Merge pull request #6673 from jumpserver/pr@dev@user_role_search
fix: 用户角色搜索
2021-08-18 15:26:56 +08:00
feng626
58c058c1a5 fix: 修复user筛选用户bug 2021-08-18 15:25:35 +08:00
ibuler
f390556a87 perf: 优化spm请求的问题 2021-08-18 14:39:55 +08:00
Bai
b7378da46e fix: 修复创建/更新远程应用资产可以为空的问题 2021-08-18 11:28:28 +08:00
Bai
0c8c926aac fix: 修复校验用户登录规则的API权限 2021-08-18 10:31:42 +08:00
xinwen
81d8592ee1 fix: 系统用户的账号列表里修改密码后不能登录 2021-08-18 10:22:02 +08:00
Jiangjie.Bai
af827f3626 Merge pull request #6664 from jumpserver/dev
v2.13.0 rc3
2021-08-17 20:37:03 +08:00
ibuler
91b269fc36 fix: 修复应用账号 2021-08-17 20:31:19 +08:00
ibuler
1605a57df6 perf: 修复应用账号选择部分导出问题 2021-08-17 17:33:55 +08:00
ibuler
5cd23b843a fix: 修复授权树api数据结构 2021-08-17 17:31:45 +08:00
Bai
d46f1080f8 fix: 修复校验用户密码规则 2021-08-17 16:37:38 +08:00
feng626
9a541ebf05 fix: 资产批量推送和测试连接性 bug 2021-08-17 14:05:03 +08:00
ibuler
dba416f5eb fix: 修复remote app没有返回asset的bug 2021-08-17 11:29:02 +08:00
xinwen
7d7da9bf98 fix: 添加新的 es 时创建索引 2021-08-17 11:27:57 +08:00
老广
4425efd3c2 Merge pull request #6649 from jumpserver/dev
Dev
2021-08-17 10:17:49 +08:00
feng626
c6bb9e97fb fix: 工单已关闭 再审批bug 2021-08-16 19:24:42 +08:00
xinwen
9c7adb7a14 fix: 用户列表导出部分字段没翻译 2021-08-16 17:41:56 +08:00
xinwen
7b4faccf05 fix: 飞书没有翻译 2021-08-16 16:46:20 +08:00
xinwen
0cd3419e09 fix: 修复应用授权列表报错 2021-08-16 16:45:45 +08:00
Eric_Lee
e49dedf6b1 Merge pull request #6645 from jumpserver/dev
Dev
2021-08-16 11:25:24 +08:00
ibuler
bee4e05b5f fix: 修复应用账号中没有应用却有账号的问题 2021-08-16 11:23:15 +08:00
ibuler
a5419b49ee perf: 添加监测 celery 2021-08-16 09:51:48 +08:00
ibuler
84e60283b8 fix(account): 修复应用账号前端不对的问题 2021-08-16 09:51:22 +08:00
Jiangjie.Bai
96206384c0 Merge pull request #6634 from jumpserver/dev
v2.13.0 rc1
2021-08-12 19:51:48 +08:00
Bai
78c61d5afa feat: 升级依赖 jms-storage==0.0.39 2021-08-12 18:38:10 +08:00
Bai
ee712d9a9d feat: 升级依赖 s3transfer==0.5.0 2021-08-12 18:38:10 +08:00
ibuler
a1e8c2849a perf: 修改entrypoint 2021-08-12 17:55:03 +08:00
fit2bot
54751a715c feat: 添加 飞书 (#6602)
* feat: 添加 飞书

Co-authored-by: xinwen <coderWen@126.com>
Co-authored-by: wenyann <64353056+wenyann@users.noreply.github.com>
2021-08-12 16:44:06 +08:00
fit2bot
a2907a6e6d fix: 将 es 的 doc_type 默认值改为 _doc (#6627)
* fix: 无效的 es 报 500

* fix: 修复索引不存在时报错

* fix: 将 es 的 doc_type 默认值改为 _doc

Co-authored-by: xinwen <coderWen@126.com>
2021-08-12 15:37:22 +08:00
Bai
33236aaa47 fix: 修复启动脚本beat进程偶尔不会结束的问题 2021-08-12 15:35:22 +08:00
Bai
cd6c7ce7fa perf: jms脚本添加collectstatic命令 2021-08-11 14:28:39 +08:00
Bai
363baece4f fix: 修复删除远程应用关联资产后,更新页面显示资产ID的问题 2021-08-11 14:23:47 +08:00
feng626
1db0e28346 feat: 用户管理增加角色搜素 2021-08-11 10:36:43 +08:00
xinwen
7366bbb197 fix: 修复 es 命令存储过滤不准确 2021-08-10 17:25:41 +08:00
Bai
7959f84bba fix: 修改启动脚本 2021-08-10 14:45:58 +08:00
ibuler
0c96bf61ef chore: 添加注释 2021-08-09 10:22:16 +08:00
fit2bot
39ce60c93a feat: 系统监控添加 Core/Celery Terminal; 修改检测终端状态逻辑; (#6570)
* feat: 系统监控添加 Core Terminal; 修改检测终端状态逻辑;

* feat: 添加management包

* feat: 添加management包

* feat: 添加 start 模块

* feat: 修改 start 模块

* feat: 修改启动命令目录结构

* feat: 修改启动命令目录结构

* feat: 修改启动命令目录结构

* feat: 修改启动命令目录结构

* feat: 修改启动命令目录结构

* feat: 修改启动命令目录结构

* feat: 修改启动命令目录结构

* feat: 修改启动脚本

* feat: 修改启动脚本

* feat: 修改启动脚本

* feat: 修改启动脚本

* feat: 修改启动脚本

* feat: 修改启动脚本

* feat: 修改启动脚本

* feat: 修改启动脚本

* feat: 修改启动脚本

* feat: 修改启动脚本

Co-authored-by: Bai <bugatti_it@163.com>
2021-08-06 19:16:18 +08:00
Bai
8ad78ffef8 fix: 修改SECURITY_PASSWORD_MIN_LENGTH 2021-08-05 10:38:22 +08:00
xinwen
66b499b8e3 fix: 修复多对多审计内容太长报错&全局组织没有审计 2021-08-04 17:13:25 +08:00
xinwen
22406f47f7 fix: Luna 页面搜索资产,结果按资产名称排序 2021-08-04 10:32:20 +08:00
feng626
72f782b589 Merge pull request #6576 from jumpserver/pr@dev@edit_xpack_internationalization
feat: 修改xpack 国际化
2021-08-03 14:31:20 +08:00
xinwen
cf3df951a9 fix: xrdp 连接可以指定是否全屏 2021-08-03 11:28:49 +08:00
xinwen
4085df913b feat: 记录网关可连接性 2021-08-02 18:42:43 +08:00
ibuler
d93f3aca51 perf: 修改支持客户端拉起
perf: remove print
2021-08-02 18:15:11 +08:00
老广
b180a162cd Merge pull request #6580 from jumpserver/pr@dev@update_pip_version
perf: 修改依赖包版本
2021-08-02 17:59:15 +08:00
ibuler
1bf3ff5e1b perf: 修改依赖包版本 2021-08-02 17:55:22 +08:00
Bai
0def477b63 fix: 修复收集windows资产用户时未收集到全部用户的问题 2021-08-02 16:34:54 +08:00
feng626
337e1ba206 feat: 修改xpack 国际化 2021-08-02 14:19:54 +08:00
Bai
fe2d80046c fix: 修改用户密码更新API取消Retrieve权限 2021-08-02 12:00:14 +08:00
Bai
f16a9ddb86 fix: 修改 settings.SECURITY_MFA_AUTH 开启判断条件 2021-08-02 10:52:41 +08:00
老广
5f6c207721 Merge pull request #6572 from jumpserver/pr@dev@perf_account_filter
perf: 修改账号搜索
2021-07-30 19:52:08 +08:00
ibuler
988d686418 perf: 修改账号搜索 2021-07-30 19:48:23 +08:00
老广
89e654af80 Merge pull request #6571 from jumpserver/pr@dev@perf_i18n
perf: 优化i18n
2021-07-30 19:21:31 +08:00
ibuler
2ab1bbaa2c chore: merge with dev 2021-07-30 19:18:36 +08:00
ibuler
b43626b5a2 perf: 优化i18n 2021-07-30 19:13:47 +08:00
ibuler
5e4b3e924f perf: 优化树 2021-07-30 17:29:50 +08:00
fit2bot
66b0173e20 feat: 服务性能告警指标包含:Core服务和各组件状态;指标包括:cpu/disk/memory/is_alive (#6564)
* feat: 服务性能告警指标包含:Core服务和各组件状态;指标包括:cpu/disk/memory/is_alive

* feat: 服务性能告警指标包含:Core服务和各组件状态;指标包括:cpu/disk/memory/is_alive 2

Co-authored-by: Bai <bugatti_it@163.com>
2021-07-30 15:42:06 +08:00
fit2bot
67f6b1080e feat: 管理员和普通用户支持单独设置MFA和密码长度 (#6562)
* feat: 支持配置系统管理员强制MFA和独立密码长度限制

* feat: 支持配置系统管理员强制MFA和独立密码长度限制

* feat: 支持配置系统管理员强制MFA和独立密码长度限制, 翻译文件

* fix: 设置界面可设置管理员用户开启MFA,当在设置开启全局的时候,不改变用户的mfa字段状态

* fix: 修改管理员最小密码长度变量名称

* perf: 优化不同的配置

* perf: 修改check password rule

* perf: 添加配置文件

* perf: 修改profile

* perf: 优化代码

* fix: 修复bug

Co-authored-by: fit2cloud-jiangweidong <weidong.jiang@fit2cloud.com>
Co-authored-by: ibuler <ibuler@qq.com>
2021-07-30 15:19:00 +08:00
ibuler
b56b897260 perf: 优化计算数量 2021-07-30 11:08:12 +08:00
ibuler
f031f4d560 perf: 修复授权应用树的问题 2021-07-29 19:45:36 +08:00
Bai
d0e119fb50 feat: session.Task model add kwargs field (记录kill_session的用户名称) 2021-07-29 15:06:54 +08:00
Bai
7892e50aa2 feat: session.Task model add kwargs field (记录kill_session的用户名称) 2021-07-29 15:06:54 +08:00
ibuler
bff3582136 perf: 修改时间日志格式,兼容firefox 2021-07-28 17:56:23 +08:00
Bai
bdf95903ce feat: 支持终断DB会话 2021-07-28 17:48:53 +08:00
feng626
c1e6bc5d60 Merge pull request #6555 from jumpserver/pr@dev@user_collection_node_fix
fix: 用户管理-用户-授权的资产-收藏夹下拉菜单报404bug修复
2021-07-28 14:39:53 +08:00
feng626
da588ce0ae perf: 代码优化 2021-07-28 14:33:02 +08:00
feng626
d0680c3753 fix: 用户管理-用户-授权的资产-收藏夹下拉菜单报404bug修复 2021-07-28 14:21:53 +08:00
fit2bot
905d0d5131 perf: 统一应用树 (#6535)
* perf: 添加应用树api

* perf: perms tree

* perf: 统一应用树

* perf: 修改icon

* perf: stash it

* perf: 优化应用账号

* perf: 基本完成应用账号重构

* perf: 修改翻译

Co-authored-by: ibuler <ibuler@qq.com>
2021-07-27 16:06:00 +08:00
feng626
d347ed9862 perf: 优化代码 2021-07-27 15:54:44 +08:00
feng626
8611f765a3 feat: 增加rdp 云端唤醒 api 2021-07-27 15:54:44 +08:00
ibuler
962f1c0310 perf: 资产账号支持,几点过滤 2021-07-27 15:54:08 +08:00
feng626
473a66719b 终端 批量更新 数据必填 2021-07-27 15:52:59 +08:00
Bai
aeb43a04f6 feat: 添加翻译: trigger 触发模式、手动触发、自动触发 2021-07-27 10:45:28 +08:00
xinwen
49a35985a1 feat: 多对多关系添加审计 2021-07-26 18:10:41 +08:00
Bai
21b789e08c perf: 优化测试网域可连接性的错误提示信息 2021-07-26 15:53:08 +08:00
Bai
51387ad97e fix: 解决访问api-docs失败的问题 2021-07-26 14:32:53 +08:00
Bai
290d584ac9 perf: 校验系统用户/账号密码不能包含 {{ 字符;升级依赖包ansible==2.9.24 2021-07-23 19:00:43 +08:00
Bai
160b238058 fix: 修复ssh-private-key错误导致系统用户列表加载出现500的问题 2021-07-23 18:57:53 +08:00
Bai
938255df6f perf: 添加LDAPServerURL ldaps:// ldap:// 协议检测 2021-07-23 14:50:44 +08:00
Bai
4230da0fd9 perf: 添加LDAPServerURL ldaps:// ldap:// 协议检测 2021-07-23 11:24:05 +08:00
xinwen
fee3715d30 fix: 应用授权按type 过滤报错 2021-07-22 11:06:14 +08:00
Bai
689bd093be 云管中心同步任务支持设置同步IP网段和协议组(修改特权用户文案) 2021-07-21 16:50:04 +08:00
feng626
77461d7834 网域网管取消密码不为空校验 2021-07-21 16:33:09 +08:00
ibuler
ee5894c296 perf: 优化工单推荐资产的数量 2021-07-21 14:39:29 +08:00
Bai
07898004b0 feat: 丰富资产任务API创建;支持针对多个系统用户一个资产的推送和测试 2021-07-20 16:59:51 +08:00
Eric_Lee
630164cd51 Merge pull request #6494 from jumpserver/pr@dev@add_watermark
perf: 添加配置文件,控制luna水印
2021-07-19 18:28:24 +08:00
feng626
981319e553 关闭 网域网关 密码特殊字符校验 2021-07-19 18:27:11 +08:00
ibuler
fedd32ea7a merge: 合并dev 2021-07-19 18:26:04 +08:00
ibuler
e57574f10a perf: 添加配置文件,控制luna水印
perf: 添加配置文件样例
2021-07-19 18:20:51 +08:00
xinwen
3f0a0b33b5 feat: 应用按类型筛选可以指定多个类型 2021-07-19 10:11:07 +08:00
Bai
c21217d50c perf: 添加配置项 LOGIN_REDIRECT_TO_BACKEND 2021-07-16 14:34:23 +08:00
Bai
e44c8ae940 perf: 优化登录跳转flash时间间隔可配置;0表示直接跳转 2021-07-16 14:34:23 +08:00
wojiushixiaobai
1da187c373 perf: 优化 MFA 绑定提示 2021-07-16 14:33:08 +08:00
xinwen
36ad42beb2 fix: xrdp 设置分辨率不生效 2021-07-16 14:32:18 +08:00
Jiangjie.Bai
c0560ad3cc Merge pull request #6464 from jumpserver/dev
v2.12.0 rc5
2021-07-15 19:19:18 +08:00
ibuler
c318762f82 perf: 修改account密码加载 2021-07-15 19:12:58 +08:00
ibuler
5d373c0137 fix: 修复错误格式 2021-07-15 19:12:58 +08:00
Jiangjie.Bai
3aea998bd2 Merge pull request #6462 from jumpserver/dev
v2.12.0 rc5
2021-07-15 18:23:38 +08:00
ibuler
c1ca48a32a perf: 修改i18n 2021-07-15 18:22:53 +08:00
Jiangjie.Bai
2f0fcddc29 Merge pull request #6458 from jumpserver/dev
v2.12.0 rc5
2021-07-15 18:00:27 +08:00
ibuler
329565251a perf: 修改prefetch 2021-07-15 17:58:45 +08:00
ibuler
06a223376c perf: 基本完成 2021-07-15 17:58:45 +08:00
Bai
47e8ad3aac fix: 修复创建资产关联所在节点的系统用户时没有设置组织ID的问题 2021-07-15 17:12:56 +08:00
Jiangjie.Bai
c4fb3a8c04 Merge pull request #6455 from jumpserver/dev
v2.12.0 rc5
2021-07-15 17:04:22 +08:00
ibuler
9d4121c3b7 perf: 优化代码 2021-07-15 11:02:45 +08:00
xinwen
2eb1fe8547 fix: 系统用户与资产关系变化时 AuthBook 表的 org_id 可能是 root 组织 2021-07-15 11:02:45 +08:00
ibuler
e933774e6c fix: 修复创建 authbook 可能没有组织id的问题 2021-07-15 11:01:14 +08:00
Jiangjie.Bai
0b994d1c46 Merge pull request #6450 from jumpserver/dev
v2.12.0 rc4
2021-07-14 21:38:38 +08:00
xinwen
381b150c2b fix: 探测 authbook 在 root 组织下保存的情况 2021-07-14 21:37:48 +08:00
xinwen
53ebac9363 fix: 探测 authbook 在 root 组织下保存的情况 2021-07-14 21:36:53 +08:00
Jiangjie.Bai
a0638dd5c4 Merge pull request #6447 from jumpserver/dev
v2.12.0 rc4
2021-07-14 19:02:45 +08:00
Bai
5b741de896 fix: 修复系统用户资产导出包含组织名称 2021-07-14 18:56:40 +08:00
Bai
d7f587216d fix: 修复测试系统用户可连接性问题 2021-07-14 17:07:55 +08:00
ibuler
019f00a34a perf: 优化特权账号创建和导出
perf: 优化搜索

perf: Huany

perf: 还原

perf: 又改

xxx
2021-07-14 16:56:34 +08:00
Bai
9684b2d4ac fix: 修复测试资产可连接性获取admin_user总是新加载的authbook对象 2021-07-14 15:31:39 +08:00
xinwen
2e190c9ea9 fix: 授权过期自动刷新授权树 2021-07-14 15:00:41 +08:00
xinwen
601a48071f fix: 组织统计中系统用户数量不对 2021-07-14 13:56:44 +08:00
Bai
bf885f94e4 fix: 修复系统用户资产导出文案 2021-07-14 12:27:58 +08:00
Bai
7d4be819b8 fix: 修复系统用户资产导出文案 2021-07-14 12:25:07 +08:00
xinwen
26a7fa836c fix: 网关测试连接 500 2021-07-14 12:24:43 +08:00
Jiangjie.Bai
187329b006 Merge pull request #6429 from jumpserver/dev
v2.12.0 rc3
2021-07-13 20:45:03 +08:00
xinwen
8375008cfa fix: 用户无效时,企业微信&钉钉扫码 500 2021-07-13 20:43:37 +08:00
ibuler
16333fa1aa fix: 修复管理用户批量删除失败的bug 2021-07-13 18:12:19 +08:00
Bai
72deb005a6 fix: 修复改密日志支持模糊搜索 2021-07-13 18:07:48 +08:00
Bai
18509a0ca4 fix: 修复导出系统用户资产列表时包含org_id字段 2021-07-13 17:46:21 +08:00
ibuler
e63d0dcd9e perf: 添加ssh 指纹 2021-07-13 17:45:59 +08:00
Bai
62ba3984bd fix: 修复用户列表角色字段不显示的问题 2021-07-13 16:22:49 +08:00
ibuler
db170aac9e perf: 添加测试多个账号的任务 2021-07-13 13:16:27 +08:00
ibuler
5c7e73e2e0 fix: 修复系统用户详情,测试资产可连接性问题
fix; bug

perf: 还原migrations
2021-07-13 11:31:39 +08:00
ibuler
f772296dff fix(assets): 修复patch system user的问题
perf: 去掉debug
2021-07-13 11:30:38 +08:00
xinwen
f6a26ac165 fix: 全局组织命令记录无数据 2021-07-13 10:58:48 +08:00
ibuler
4e3b3442d2 perf: 修改添加翻译
perf: 优化翻译

perf: 修改i18n

perf: 编译
2021-07-13 10:35:42 +08:00
Jiangjie.Bai
2752770ce2 Merge pull request #6416 from jumpserver/dev
v2.12.0 rc2
2021-07-12 18:26:56 +08:00
ibuler
1840609d53 fix: 修复动态系统用户无法提交的问题
fix: 修复动态系统用户
2021-07-12 18:21:04 +08:00
fit2bot
4f23090a5c fix: 修复账号搜索 5xx (#6413)
Co-authored-by: ibuler <ibuler@qq.com>
Co-authored-by: Jiangjie.Bai <32935519+BaiJiangJie@users.noreply.github.com>
2021-07-12 18:20:32 +08:00
ibuler
898b51c593 fix: 修复账号搜索问题 2021-07-12 18:17:21 +08:00
xinwen
2494418208 fix: 用户组删除时,授权树不会自动更新 2021-07-12 18:16:53 +08:00
Bai
0fec70fe69 feat: 添加移除AssetUser Model的migrations 2021-07-12 13:10:40 +08:00
Jiangjie.Bai
bcf90d71a2 Merge pull request #6405 from jumpserver/dev
v2.12.0 rc1
2021-07-08 16:55:46 +08:00
ibuler
f8f7ac0af5 fix(assets): 修复创建资产报错 2021-07-08 16:52:31 +08:00
Jiangjie.Bai
d6c2705bd6 Merge pull request #6402 from jumpserver/dev
v2.12 rc1
2021-07-08 15:19:21 +08:00
ibuler
10f8b9f130 perf: 优化ansible执行命令 2021-07-08 14:54:05 +08:00
Bai
1e601288fa fix: 修改CAS配置默认值 2021-07-08 14:47:03 +08:00
Tommy.chen
b1032761c8 add cas CAS_USERNAME_ATTRIBUTE CAS_RENAME_ATTRIBUTES CAS_CREATE_USER read 2021-07-08 14:34:30 +08:00
Z000000
c532c361c0 批量命令支持更广泛的设备如思科等网络设备,docker等 (#6356)
* feat: Update README (#6182)

* feat: Update README

* feat: Update README

* Update README.md

* feat: update README

* Update README.md

* docs: 修改英文版本

* Update README.md

* 批量命令支持更广泛的设备如思科等网络设备,docker等

Co-authored-by: Jiangjie.Bai <32935519+BaiJiangJie@users.noreply.github.com>
Co-authored-by: 老广 <ibuler@qq.com>
2021-07-08 14:32:03 +08:00
fit2bot
ec8dca90d6 refactor: 整合系统用户和管理用户 (#6236)
* perf: 整合系统用户和管理用户

* stash

stash

perf: 优化系统用户和资产的表结构

* perf: 添加信号

* perf: 添加算法

* perf: 去掉 asset user backends

* perf: 整理系统用户api

* perfF: 暂存一下

* stash

* perf: 暂存一下

* perf: 暂存

* xxx

* perf: ...

* stash it

* xxx

* xxx

* xxx

* xxx

* xxx

* stash it

* 修改Protocols

* perf: 修改创建authbook信号

* perf: 添加auth info

* .stash

* perf: 基本完成

* perf: 修复完成

* perf: 修复更改的id

* perf: 修复迁移过去数量不对的问题

* perf: 修改systemuser

* fix: 修复批量编辑近期的问题

* fix: 修复authbook加载的问题

* xxx

Co-authored-by: ibuler <ibuler@qq.com>
2021-07-08 14:23:18 +08:00
xinwen
a9f814a515 fix: 过期用户登录提示不明确 2021-07-08 10:27:15 +08:00
xinwen
c4bbeaaccc feat: rdp 添加授权过期自动断开 2021-07-07 11:09:17 +08:00
xinwen
0fd5ab02e9 fix: 修复 interval 周期任务不执行问题 2021-07-01 16:42:22 +08:00
老广
745979074a Update README.md 2021-06-29 15:12:10 +08:00
Bai
8ae6863266 fix: 修复终端更新存储失败的问题 2021-06-29 13:33:16 +08:00
Bai
4fd7f0e949 fix: 修复自动生成系统用户密码中包含 {{ 双字符时测试可连接性失败的问题 2021-06-29 13:22:59 +08:00
xinwen
732f0b55dc refactor: 更改系统消息初始化策略 2021-06-28 15:57:49 +08:00
Jiangjie.Bai
c0ec0f1343 feat: 支持设置默认存储(命令、录像) (#6336)
* fix: 修改LDAP用户导入的组织为当前组织

* fix: 修改翻译信息

* feat: 支持设置默认存储

* feat: 支持设置默认存储(2)

* feat: 支持设置默认存储(3)
2021-06-28 10:32:59 +08:00
xinwen
aa6e550ba2 fix: 系统消息通知升级错误 2021-06-25 23:47:13 +08:00
Jiangjie.Bai
2ffaf59238 Merge pull request #6328 from jumpserver/ibuler-patch-1
Update README.md
2021-06-25 14:47:36 +08:00
ibuler
6c13fdbc46 perf: 优化图片大小
perf: ...
2021-06-25 10:16:26 +08:00
fghbng@qq.com
35941ddf7f feat: 优化缓存,将会话的缓存拿出来 2021-06-25 10:13:51 +08:00
fghbng@qq.com
3ae976c183 优化缓存,将会话的缓存拿出来 2021-06-25 10:13:51 +08:00
ibuler
999666f0eb docs: 修改英文版本 2021-06-23 17:16:01 +08:00
老广
1812074231 Update README.md 2021-06-23 11:31:51 +08:00
Bai
53eb32e620 fix: 修改翻译信息 2021-06-22 19:17:44 +08:00
Bai
50bd0b796d fix: 修改LDAP用户导入的组织为当前组织 2021-06-22 19:17:44 +08:00
wojiushixiaobai
a02d80a2ae feat: arm64 支持 2021-06-22 14:44:47 +08:00
ibuler
71a7eea8ad perf: 修复next为空可能会导致的bug 2021-06-22 11:13:44 +08:00
ibuler
2b927caa60 fix: 修复oidc登录的问题
..
2021-06-22 11:04:12 +08:00
ibuler
053d958f9a fix: 修复app无法下载xrdp文件 2021-06-22 10:20:37 +08:00
ibuler
8d25d0a653 fix: 修复登录页面的 i18n 问题 2021-06-22 10:18:48 +08:00
Bai
62eb131f59 fix: 修改创建用户时如果没有在任何组织内默认添加到default组织 2021-06-21 18:59:07 +08:00
jiangweidong
40eb7c79bb feat: 添加青云SDK 2021-06-21 15:57:21 +08:00
Bai
dabc9eb09b fix: 修改获取系统用户认证信息时username的选择逻辑;(单独设置过的系统用户认证信息登录资产失败) 2021-06-18 18:15:58 +08:00
Jiangjie.Bai
502657bad4 Merge pull request #6294 from jumpserver/dev
v2.11.0 rc5
2021-06-17 12:23:20 +08:00
ibuler
b5120e72c8 perf(notification): 发送html msg 2021-06-17 12:20:51 +08:00
Bai
2ca659414e fix: 修改应用账号序列类添加token字段 2021-06-17 12:13:06 +08:00
Jiangjie.Bai
64f772e747 Merge pull request #6291 from jumpserver/dev
v2.11.0. rc5
2021-06-17 11:49:04 +08:00
Bai
67a897f9c3 fix: 修改ldap导入 2021-06-17 11:48:00 +08:00
Jiangjie.Bai
d0a9ccbdfe Merge pull request #6286 from jumpserver/dev
v2.11.0 rc5 (2)
2021-06-16 19:47:51 +08:00
xinwen
1a30675a86 fix: 去掉命令告警开关 2021-06-16 18:03:17 +08:00
ibuler
f6273450bb perf: 优化批量危险命令告警 2021-06-16 18:02:17 +08:00
ibuler
8f35fcd6f9 perf: 优化通知迁移 2021-06-16 16:58:07 +08:00
xinwen
1999cfdfeb perf: 优化钉钉命令告警 2021-06-16 16:57:28 +08:00
Bai
c4af78c9f0 fix: 修改AuthBook删除raise异常类 2021-06-16 14:42:03 +08:00
Bai
a3d02decd6 fix: 修改翻译 2021-06-16 14:28:28 +08:00
ibuler
e623f63fcf perf: 修改i18n
perf: 优化命令告警,优化翻译
2021-06-16 14:24:57 +08:00
Jiangjie.Bai
4f1b2aceda Merge pull request #6277 from jumpserver/dev
v2.11.0 rc5
2021-06-16 13:03:17 +08:00
健健
94fc1fb53b fix: 导入数据解析 title 时,没有过滤 read only 字段 (#6269)
* feat: Update README (#6182)

* feat: Update README

* feat: Update README

* Update README.md

* feat: update README

* fix: 导入数据解析 title 时,没有过滤 read only 字段

type,type_display 翻译都是一样的,导出时使用的是 type,导入时识别成 type_display

Co-authored-by: Jiangjie.Bai <32935519+BaiJiangJie@users.noreply.github.com>
2021-06-16 13:00:55 +08:00
xinwen
937acbd0b5 fix: 资产授权不能打开或关闭 2021-06-16 12:54:03 +08:00
xinwen
067a70463e fix: 高危命令邮件收不到 2021-06-16 12:41:14 +08:00
Bai
b115ed3b79 fix: 修改LDAP用户导入默认添加到Default组织 2021-06-16 11:13:21 +08:00
Jiangjie.Bai
057fbdf0b1 Merge pull request #6268 from jumpserver/dev
v2.11.0 rc3
2021-06-15 14:50:02 +08:00
xinwen
5263a146e2 fix: 修复站内信迁移脚本问题 2021-06-15 14:47:16 +08:00
Jiangjie.Bai
84070a558e Merge pull request #6265 from jumpserver/dev
v2.11.0 rc2
2021-06-15 10:49:46 +08:00
Bai
e0604a3211 feat: 修改翻译 2021-06-15 10:42:06 +08:00
Bai
00e4c3cd07 feat: 添加应用用户API 2021-06-15 10:42:06 +08:00
ibuler
97a0e27307 perf: 优化消息中心未读数量 2021-06-11 18:02:53 +08:00
ibuler
8d3c1bd783 perf: 优化获取token secret, 重新校验权限 2021-06-10 19:51:11 +08:00
ibuler
db99ab80db perf(auth): 授权token形式登录,支持记录登录日志 2021-06-10 18:07:24 +08:00
Jiangjie.Bai
1e8d9ba2ec Merge pull request #6256 from jumpserver/dev
v2.11.0 rc1
2021-06-10 14:03:45 +08:00
xinwen
7dddf0c3c2 fix: 站内信未读信息计数不准 2021-06-10 10:24:54 +08:00
fit2bot
891a5157a7 perf: 优化token时间 (#6252)
* perf: 修复上次引起的小bug

* perf: 优化token时间

Co-authored-by: ibuler <ibuler@qq.com>
2021-06-09 20:10:34 +08:00
ibuler
34b2a5fe0b perf: 修复上次引起的小bug 2021-06-09 15:47:26 +08:00
ibuler
de6908e5a6 perf: rdp file添加domain
fix: 禁用的用户不返回信息

perf: 优化token,禁用的资产无法链接
2021-06-09 14:18:15 +08:00
fit2bot
d6527e3b02 perf: 优化支持记录密码 (#6247)
* perf: 优化 xrdp setting

* perf: 优化支持记录密码

Co-authored-by: ibuler <ibuler@qq.com>
2021-06-08 20:50:15 +08:00
ibuler
33a29ae788 perf: 优化 xrdp setting 2021-06-08 15:25:32 +08:00
ibuler
a2eb431015 perf: 优化自动分辨率 2021-06-08 12:48:48 +08:00
Bai
8fbea2f702 fix: 修改资产账号name为非必填 2021-06-08 11:38:37 +08:00
fit2bot
af92271a52 feat: 调整站内信接口 (#6228)
* feat: 调整站内信接口

* 添加 websockt

* 添加信息类型字段

* 添加 has_read 过滤参数

* feat: 调整站内信接口

* 添加 websockt

* 添加信息类型字段

* 添加 has_read 过滤参数

* 去掉type websocket

* perf: 去掉type

Co-authored-by: xinwen <coderWen@126.com>
Co-authored-by: ibuler <ibuler@qq.com>
2021-06-08 11:11:27 +08:00
ibuler
391a5cb7d0 perf: 修复手动设置密码的问题 2021-06-07 10:46:58 +08:00
xinwen
daf7d98f0e fix: 其他组织中创建的用户不要添加到默认组织了 2021-06-04 04:30:40 -05:00
Jiangjie.Bai
ed297fd1bd Merge pull request #6226 from jumpserver/pr@dev@add_missing_migrations
chore: 添加删除的文件
2021-06-04 14:40:32 +08:00
Bai
f91bef4105 feat: 修改依赖包版本号: jms-storage-sdk==0.0.37 2021-06-04 14:37:02 +08:00
Bai
a8d84fc6e1 feat: 修改迁移文件 2021-06-04 11:39:17 +08:00
Bai
0c7838d0e3 feat: 修改迁移文件 2021-06-04 11:39:17 +08:00
Jiangjie.Bai
f26483c9cd Merge pull request #6224 from jumpserver/feat_account_manager
feat: 添加账号管理相关API
2021-06-04 11:15:53 +08:00
Bai
5daca6592b feat: 修改文案 后端 -> 来源 2021-06-04 11:14:53 +08:00
Bai
0bced39f08 fix: 修复redis服务异常时(如: 主从切换), 用户session立即过期的问题 2021-06-03 22:04:10 -05:00
ibuler
6d83dd0e3a chore: 添加删除的文件 2021-06-03 14:54:41 +08:00
ibuler
46e99d10cb Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2021-06-03 14:28:39 +08:00
liubo
95eb11422a feat: 支持添加 OBS 存储 2021-06-03 01:28:23 -05:00
ibuler
e8b3ee4565 perf: 优化系统用户,支持用户设置临时密码
perf: 优化rdp file下载

perf: 修改密码途观选项

perf: 优化api获取
2021-06-03 01:24:28 -05:00
Bai
1e99be1775 feat: 修改获取应用用户API 2021-06-03 13:59:44 +08:00
Bai
adae509bc0 fix: 修复组织批量删除的问题 2021-06-03 11:36:24 +08:00
ibuler
7868e91844 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2021-06-03 11:19:02 +08:00
xinwen
a9bdbcf7c6 fix: metadata api view 报错 2021-06-02 22:02:14 -05:00
xinwen
a809eac2b8 fix: 修复获取 Metadata 时,获取的总是 action 为 metadata 2021-06-02 04:41:01 -05:00
Bai
bdab93260f feat: 资产用户API返回 BackendDisplay 和 Name 字段 2021-06-02 17:00:31 +08:00
fit2bot
4ef3b2630a feat: 站内信 (#6183)
* 添加站内信

* s

* s

* 添加接口

* fix

* fix

* 重构了一些

* 完成

* 完善

* s

* s

* s

* s

* s

* s

* 测试ok

* 替换业务中发送消息的方式

* 修改

* s

* 去掉 update 兼容 create

* 添加 unread total 接口

* 调整json字段

Co-authored-by: xinwen <coderWen@126.com>
2021-05-31 17:20:38 +08:00
Bai
4eef25982d feat: 更新 ApplicationUserList API 2021-05-27 18:42:43 +08:00
xinwen
b82e9f860b fix: users 遗漏一个 migration 2021-05-26 15:26:56 +08:00
Bai
6b46f5b48e feat: 添加ApplicationUserList API 2021-05-24 19:11:47 +08:00
Jiangjie.Bai
fe717f0244 feat: Update README (#6182)
* feat: Update README

* feat: Update README

* Update README.md

* feat: update README
2021-05-24 16:04:40 +08:00
ibuler
33fb063f78 perf: 暂时禁用xrdp实时监控 2021-05-24 15:37:21 +08:00
老广
7edc9c37f8 Update README.md 2021-05-24 11:02:18 +08:00
Michael Bai
f8b4259a8c fix: 修复创建/更新用户时密码策略相关的问题 2021-05-23 21:56:37 -05:00
Michael Bai
572d0e3f27 fix: 修复parser没有处理int类型数据的问题 2021-05-23 21:54:14 -05:00
ibuler
b334f3c2d9 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2021-05-24 10:46:43 +08:00
Jiangjie.Bai
6b4b9f4b02 Merge pull request #6169 from jumpserver/dev
v2.10.1
2021-05-21 15:20:25 +08:00
ibuler
d765e61991 fix(assets): 修复网关信息没有密码的bug 2021-05-21 15:17:29 +08:00
Bai
9ccde03656 fix: 修改cloud翻译 2021-05-20 22:27:29 -05:00
xinwen
c66f366446 fix: 修复 default 组织用户数量统计错误 2021-05-21 10:36:27 +08:00
ibuler
34d46897f8 fix: 修复周期监测任务配置的bug 2021-05-21 10:35:39 +08:00
ibuler
2d9ce16601 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2021-05-20 15:53:16 +08:00
Jiangjie.Bai
0380be51dd Merge pull request #6155 from jumpserver/dev
Merge dev to master
2021-05-20 15:02:28 +08:00
Bai
47df0cfaab fix: 修改翻译 2021-05-20 15:00:10 +08:00
Bai
a2fb4a701e fix: 修复命令过滤器规则Action Choices显示 2021-05-20 01:07:33 -05:00
fit2bot
6e4381ac04 perf: 修改readme (#6152)
* perf: 修改readme

* perf: 修改readme

Co-authored-by: ibuler <ibuler@qq.com>
2021-05-20 13:14:34 +08:00
fghbng@qq.com
8ae03e4374 修复资产导出字段名显示 2021-05-20 00:11:44 -05:00
fghbng@qq.com
73f2022ff6 修复全局组织仪表盘用户总数统计 2021-05-20 00:07:49 -05:00
ibuler
bc4258256a perf: 修改readme 2021-05-20 13:06:37 +08:00
Jiangjie.Bai
58dfe58ae0 Merge pull request #6147 from jumpserver/dev
v2.10.0 rc4
2021-05-19 19:28:10 +08:00
fghbng@qq.com
53e3fa2590 修复全局组织仪表盘用户总数统计 2021-05-19 19:27:30 +08:00
xinwen
23dbdaf6c0 fix: 系统用户里测试资产可连接性不能指定资产 2021-05-19 18:07:29 +08:00
xinwen
3eba92548b fix: 修改企业微信&钉钉一些小问题和翻译 2021-05-19 18:02:34 +08:00
fghbng@qq.com
ac5f2c560d 修复网关更新获取到了明文密码 2021-05-19 17:58:26 +08:00
Bai
f7f9331c48 fix: 修复Dashboard活跃用户数据不准确问题 2021-05-19 17:49:03 +08:00
xinwen
77b4847bd9 fix: 有在线会话的终端不能删除 2021-05-19 16:17:47 +08:00
Jiangjie.Bai
0de9b29fa9 Merge pull request #6136 from jumpserver/dev
v2.10.0 rc3
2021-05-18 19:16:25 +08:00
xinwen
f9ca46dd67 fix: 修复用户历史密码在创建时不起作用 2021-05-18 19:15:58 +08:00
xinwen
ba28f3263d fix: 企业微信&钉钉解绑报错 2021-05-18 14:03:16 +08:00
xinwen
2e118665f5 fix: 过期用户退出登录 2021-05-17 21:08:01 -05:00
fit2bot
bf53df46dc fix: 修复包含组织管理员时可以删除组织的问题 (#6130)
Co-authored-by: Bai <bugatti_it@163.com>
2021-05-17 19:11:55 +08:00
fit2bot
6449f36c7e perf: 修改文案 (#6129)
* perf: 修改i18n

* perf: 修改文案

Co-authored-by: ibuler <ibuler@qq.com>
2021-05-17 19:11:28 +08:00
Bai
ba35f5906b fix: 修复收集用户interval等字段的校验 2021-05-17 18:31:30 +08:00
fghbng@qq.com
c8d7d42f66 仪表盘全局组织统计 2021-05-17 17:35:13 +08:00
fghbng@qq.com
20dacea260 仪表盘全局组织报500错误 2021-05-17 17:35:13 +08:00
ibuler
d2dc2ab02c perf: 修改i18n 2021-05-17 17:30:56 +08:00
xinwen
ba3b5a4027 fix: 创建 Es 时失败的提示翻译 2021-05-17 17:29:53 +08:00
xinwen
3743761024 fix: 修复绑定企业微信&钉钉的一些问题 2021-05-17 17:20:48 +08:00
Bai
70055b8af2 fix: 修复remoteapp获取asset_info失败的问题 2021-05-17 16:15:28 +08:00
ibuler
726fd94f65 fix: 修复 xslx 提交数字类型报错 2021-05-17 01:54:52 -05:00
Bai
8b951ce12c perf: 添加迁移文件(lion) 2021-05-17 14:50:35 +08:00
Bai
189bc9d74a perf: 添加lion终端类型; 修改加入会话校验逻辑(vnc/rdp) 2021-05-17 14:50:35 +08:00
Jiangjie.Bai
dd6c063478 Merge pull request #6119 from jumpserver/dev
v2.10.0 rc2 fix-dashboard
2021-05-17 10:11:06 +08:00
fghbng@qq.com
5e9006d0c2 修复仪表盘数据统计错误 2021-05-17 10:09:38 +08:00
Jiangjie.Bai
c42f69d1ba Merge pull request #6117 from jumpserver/dev
v2.10.0 rc2
2021-05-14 19:20:40 +08:00
fghbng@qq.com
c7dfd0edce 修复授权导入系统用户为空报错 2021-05-14 19:20:24 +08:00
fghbng@qq.com
4382921c57 修复授权导入优化资产、用户、用户组、节点、系统用户id为空报错的情况 2021-05-14 19:20:24 +08:00
Bai
45feb468be perf: 优化工单邮件信息 2021-05-14 16:19:25 +08:00
xinwen
c9b6b9a37a fix: 修复企业微信,钉钉登录 BACKEND 没有注册 2021-05-14 15:55:28 +08:00
Michael Bai
8010bdecea fix: 修复创建动态系统用户时设置了home目录,使得所有推送的用户共用同一个home目录,导致目录权限只限制在第一个推送的用户,其他用户进行可连接性测试时失败的问题 2021-05-14 15:43:50 +08:00
Bai
fc1c9c564a fix: 修改翻译文件 2021-05-14 11:01:36 +08:00
Jiangjie.Bai
7c13b72739 Merge pull request #6107 from jumpserver/dev
v2.10.0 rc1
2021-05-13 19:51:43 +08:00
Bai
6a4bc1f8b3 perf: 修改翻译 2021-05-13 19:50:52 +08:00
Jiangjie.Bai
7d51d8c570 Merge pull request #6105 from jumpserver/dev
v2.10 rc1
2021-05-13 19:19:42 +08:00
Bai
0ecd9fa32a fix: 修复自动生成公钥优先使用dss格式的问题(默认优先使用rsa) 2021-05-13 19:12:03 +08:00
xinwen
b37c8b09bf refactor: 添加一些翻译&修正字段WECOM_SECRET 2021-05-13 16:29:41 +08:00
fghbng@qq.com
23f22e92b8 首页的统计数据,可以从 org resource cache 中获取
首页的统计数据,可以从 org resource cache 中获取
2021-05-13 16:05:53 +08:00
xinwen
c16319ec48 feat: 添加企业微信,钉钉扫码登录 2021-05-13 14:15:07 +08:00
jym503558564
340547c889 perf(README): 白皮书下载 2021-05-12 02:12:34 -05:00
xinwen
54f5e65d36 feat: 检查资产授权过期接口添加过期时间 2021-05-11 10:40:33 +08:00
ibuler
4d6d4cbc22 perf: 优化登录,cas, openid 自动登录 2021-05-07 05:58:56 -05:00
xinwen
7294f6e5e0 refactor: command es storage IGNORE_VERIFY_CERTS 2021-05-07 03:48:59 -05:00
ibuler
8ca2522c71 fix: 修改tokent中信息中没有返回 Protocols 的问题
fix: 优化protocols

fix: session bpp

token 时间加长
2021-04-30 01:29:52 -05:00
fghbng@qq.com
72f9d0d371 serializer优化&&资产授权导入优化 2021-04-30 14:05:46 +08:00
fghbng@qq.com
9a92e24e50 serializer优化&&授权导入优化 2021-04-30 14:05:46 +08:00
Bai
fea0170c5e perf: 可以删除包含子孙节点但不包含子孙资产的节点 2021-04-29 00:42:58 -05:00
ibuler
5e5cd80bc2 perf: 优化登录前修改密码 2021-04-29 00:42:07 -05:00
fit2cloud-jiangweidong
e3511df4f8 feat: 管理员可以设置用户是否下次登录需修改密码 (#6006)
* feat: 管理员可以设置用户是否下次登录需修改密码

* feat: 管理员可以设置用户下次是否需要更改密码,本次修改:字段命名规范化

* feat: 管理员可以设置用户下次是否需要更改密码,本次修改:字段命名规范化

* fix: 用户下次登录是否需要改密,函数名及变量名规范化

* fix: 管理员设置用户下次是否改密功能的国际化翻译文件

* fixs: 管理员设置用户下次登录是否需改密功能,逻辑修改

* fix: 管理员可设置用户下次登录是否需要改密,字段名称更改
2021-04-28 19:25:30 +08:00
fit2cloud-jiangweidong
11e5a97f14 feat: 用户更改密码不可使用前n次历史密码,管理员可设置历史密码重复次数 (#6010)
* feat: 用户更改密码不可使用前n次历史密码,管理员可设置历史密码重复次数

* feat: 用户更改密码不可使用前n次历史密码,管理员可设置历史密码重复次数, 判断是否为历史密码逻辑修改

* feat: 用户更改密码不可使用前n次历史密码,管理员可设置历史密码重复次数, 提示内容更人性化

* fixs: 用户更改密码不可使用前n次历史密码,管理员可设置历史密码重复次数, 最新国际化翻译文件
2021-04-28 17:03:20 +08:00
fit2bot
4519ccfe1a 授权导入优化 (#6057)
* 授权导入优化,支持使用 用户名,资产名,ip,节点路径,系统用户名称导入

* Update permission.py

* 授权导入优化

* 授权导入优化

* 授权导入优化

* 授权导入优化

Co-authored-by: fghbng@qq.com <fghbng@qq.com>
2021-04-28 16:42:54 +08:00
xinwen
657a2ac7e7 fix: 命令记录导出选择项 2021-04-28 03:35:36 -05:00
Bai
f5d8e125cb fix: 修复创建资产不传nodes时报错的问题 & 修复Option资产API时报JSON序列化失败的问题 2021-04-28 03:19:00 -05:00
xinwen
fd203c67c3 fix: 添加无效的 es 命令记录存储时,抛出错误提示 2021-04-27 05:39:50 -05:00
jing guo
9fe5496ce9 通过 api 添加资产,不写 protocols 时,默认值应该是列表 2021-04-27 05:36:46 -05:00
老广
c0875f6a87 Merge pull request #6037 from jumpserver/pr@dev@perf_public_key_setting
perf: 优化公钥设置,并删掉一部分不用的 html
2021-04-27 05:07:53 -05:00
ibuler
d1a005f750 perf: 优化MFA verify requierd 2021-04-27 05:05:22 -05:00
ibuler
c52431b5ce chore(merge): 合并ddev 2021-04-27 18:01:15 +08:00
Bai
4a9e83ba15 feat: 添加命令复核逻辑; 添加命令复核工单; 5 2021-04-27 17:53:06 +08:00
Bai
7712c1659e feat: 添加命令复核逻辑; 添加命令复核工单; 4 2021-04-27 16:36:42 +08:00
Bai
74c7b18dc4 feat: 添加命令复核逻辑; 添加命令复核工单; 3 2021-04-27 16:36:42 +08:00
Bai
5a3c67989b feat: 添加命令复核逻辑; 添加命令复核工单; 2 2021-04-27 16:36:42 +08:00
Bai
50918a3dd2 feat: 添加命令复核逻辑; 添加命令复核工单; 2021-04-27 16:36:42 +08:00
Bai
e9b174f342 feat: 修改命令过滤规则Model: 添加Action-reconfirm; 添加field-reviewers 2021-04-27 16:36:42 +08:00
老广
63efbfe62e Merge pull request #6049 from jumpserver/pr@dev@fix_expire_caches
fix: 添加启动失效缓存
2021-04-27 03:12:53 -05:00
xinwen
99cce185dd fix: 添加启动失效缓存 2021-04-27 16:09:07 +08:00
ibuler
ab0fda93f6 perf: 优化公钥设置,并删掉一部分不用的 html 2021-04-26 10:21:22 +08:00
ibuler
d9552c0038 perf: 优化公钥设置,让用户可以选择是否开启 2021-04-25 18:13:41 +08:00
老广
f0f493081a Merge pull request #6032 from jumpserver/pr@dev@fix_panelboard
【仪表盘】在线用户数不对,(连上windows资产之后,在线用户数就不对了)
2021-04-25 02:06:34 -05:00
fghbng@qq.com
c4727e1eba 【仪表盘】在线用户数不对,(连上windows资产之后,在线用户数就不对了) 2021-04-25 14:58:06 +08:00
Bai
ce8143c2ec fix: 修改ACL提示支持的协议为: ssh、telnet 2021-04-23 16:35:50 +08:00
Bai
65ad63272c fix: 修复操作应用/应用授权/acl等未记录日志的问题2 2021-04-20 16:47:31 +08:00
老广
4a4d5f3243 Merge pull request #5999 from jumpserver/pr@dev@fix_rdp_file_addr
fix: 修复下载rdp文件失败的问题
2021-04-20 03:28:34 -05:00
ibuler
4563743f00 fix: 修复下载rdp文件失败的问题 2021-04-20 16:17:18 +08:00
ibuler
7b679f3e82 fix(task): 修复推送过期的问题
fix(rdp): 修复下载rdp文件失败的问题
2021-04-20 15:20:49 +08:00
Bai
3d6aa15ece fix: 修复操作应用/应用授权/acl等未记录日志的问题 2021-04-20 00:08:23 -05:00
ibuler
94a798eb01 fix(task): 修复推送过期的问题 2021-04-20 12:58:48 +08:00
ibuler
ec393c1440 fix(task): 修复推送过期的问题 2021-04-20 11:27:02 +08:00
ibuler
6571209864 fix: 修复创建的系统用户很快过期的问题 2021-04-19 17:01:48 +08:00
Jiangjie.Bai
d042de7b09 Merge pull request #5972 from jumpserver/dev
v2.9.0 发版
2021-04-15 21:02:28 +08:00
ibuler
5e6e97c822 perf: 优化推送系统用户,设置有效期 2021-04-15 19:25:58 +08:00
xinwen
f146873501 fix: key=0 修改到 key=1 时 parent_key 没有更新 2021-04-15 01:33:00 -05:00
Jiangjie.Bai
35dfdf831a Merge pull request #5965 from jumpserver/dev
v2.9.0 rc3
2021-04-14 18:43:45 +08:00
xinwen
2b31cb2806 fix: 命令记录导出适配 ES 2021-04-14 05:02:50 -05:00
xinwen
e43ffa7994 fix: 远程应用显示名称 2021-04-14 04:56:59 -05:00
ibuler
b0a9a83231 fix(terminal): 修复终端列表看到的在线会话数量不对的bug 2021-04-14 16:41:57 +08:00
xinwen
7da14571ac fix: 请求 token 接口,登录类型没内容 2021-04-14 03:14:10 -05:00
xinwen
73b67da4c0 fix: 修复 acl 一些翻译 2021-04-14 03:13:18 -05:00
Jiangjie.Bai
4bf2371cf0 Merge pull request #5952 from jumpserver/dev
v2.9.0 rc2
2021-04-13 19:19:43 +08:00
Jiangjie.Bai
075cbc497b Merge pull request #5953 from jumpserver/pr@dev@dev_merge
chore(merge): 合并
2021-04-13 19:16:54 +08:00
ibuler
1a0d9a20f9 chore(merge): 合并 2021-04-13 18:54:08 +08:00
ibuler
fdb8416cac fix: 修复组件在线会话数量不对的问题 2021-04-13 05:49:03 -05:00
ibuler
e2d5b69510 perf: 优化健康监测,并添加 health check 的 key 2021-04-13 05:48:35 -05:00
xinwen
9944474ba0 fix: settings 订阅不稳定 2021-04-13 05:40:04 -05:00
xinwen
ce6b9de07c fix: ES 自动创建索引 2021-04-13 04:44:44 -05:00
xinwen
b97759687d fix: 邀请用没有触发信号 2021-04-13 04:23:29 -05:00
xinwen
68b6236de2 fix: SSO 登录日志 2021-04-12 04:48:17 -05:00
xinwen
6616374c30 fix: subscribe_settings_change 2021-04-12 04:45:30 -05:00
xinwen
682f6b2fb9 fix: 资产节点关系变化时也要清空 root 组织的 node_assets_mapping 2021-04-12 04:44:13 -05:00
xinwen
a2e3979916 fix: org_mapping 保护订阅线程 2021-04-12 04:42:48 -05:00
xinwen
f11d3c1cf2 fix: 过期用户登录提示无效 2021-04-09 02:03:35 -05:00
xinwen
f0bad5f107 fix: 登录页面测试 cookie 失败 2021-04-09 01:46:21 -05:00
ibuler
ad3bc72dfb fix(terminal): 修复session id 长度误写为 35 的bug 2021-04-08 19:23:36 +08:00
xinwen
de9c69843d fix: 登录日志 user_agent 过长 2021-04-08 19:23:36 +08:00
xinwen
d2678e2a43 refactor: 移动 PermissionsMixin 位置 2021-04-08 19:23:36 +08:00
xinwen
632ea87f07 feat: MFA 登录次数限制 2021-04-08 19:23:36 +08:00
fit2bot
4e7e1d5e15 style: 优化全局组织设置相关代码 (#5921)
* feat:支持配置全局组织的显示名称

* style: 优化全局组织设置相关代码

Co-authored-by: liubo <liubo@fit2cloud.com>
2021-04-08 19:23:36 +08:00
liuboF2c
1ac8537a34 feat:支持配置全局组织的显示名称 (#5919)
Co-authored-by: liubo <liubo@fit2cloud.com>
2021-04-08 19:23:36 +08:00
fit2bot
dcaa798c2e perf: csv upload (#5894)
perf: 修改翻译

Co-authored-by: ibuler <ibuler@qq.com>
2021-04-08 19:23:36 +08:00
xinwen
8da4027e32 fix: 授权资产列表 platform 应该显示名称 2021-04-08 19:23:36 +08:00
xinwen
32e2d19553 fix: 改密计划关掉周期执行再打开,任务不再执行 2021-04-08 19:23:36 +08:00
xinwen
48d1eecc08 fix: 修正 key 为 0 的节点 2021-04-08 19:23:36 +08:00
xinwen
0ab88ce754 fix: 访问 tokens 接口更新用户最后登录时间 2021-04-08 19:23:36 +08:00
xinwen
bee5500425 fix: 创建节点的时候加锁,可以并发调用 2021-04-08 19:23:36 +08:00
xinwen
7c03af7668 feat: 资产授权支持按名称模糊搜索 2021-04-08 19:23:36 +08:00
xinwen
7a61a671a2 fix: 管理用户输入带密码的秘钥报错 2021-04-08 19:23:36 +08:00
Bai
4a1fc0e2ac fix: 修复NodeChildrenAddAPI不支持patch方法的问题 2021-04-08 19:23:36 +08:00
ibuler
1e5e87e62a perf: 优化acl提示 2021-04-08 19:23:36 +08:00
ibuler
96c3b81383 perf: upgrade requirements version 2021-04-08 19:23:36 +08:00
xinwen
297fedeffa fix: Default 组织下出现 app user 2021-04-08 19:23:36 +08:00
ibuler
9cd5675209 perf: 修改terminal statuts
perf: 优化status api

perf: 优化 status api

perf: 修改sesion参数

perf: 修改migrations

perf: 优化数据结构

perf: 修改保留日志

perf: 优化之前的一个写法
2021-04-08 19:23:36 +08:00
xinwen
a5179d1596 feat: 增加 es 忽略 https 证书验证 2021-04-08 19:23:36 +08:00
Bai
c2463fe573 perf: Session Login from 添加 RDP Terminal 类型 2021-04-08 19:23:36 +08:00
xinwen
2f8042141c fix: 授权树节点排序 2021-04-08 19:23:36 +08:00
ibuler
06a4e0d395 perf: 修改表结构迁移,增加rdp terminal 2021-04-08 19:23:36 +08:00
xinwen
bb9d92fd7e perf: delete_test_cookie 2021-04-08 19:23:36 +08:00
ibuler
749f9d3f81 fix(terminal): 修复session id 长度误写为 35 的bug 2021-04-08 17:39:29 +08:00
xinwen
03ad7777d0 fix: 登录日志 user_agent 过长 2021-04-08 04:39:12 -05:00
xinwen
7e4f20f443 refactor: 移动 PermissionsMixin 位置 2021-04-08 02:15:02 -05:00
xinwen
607b7fd29f feat: MFA 登录次数限制 2021-04-08 01:46:36 -05:00
fit2bot
8895763ab4 style: 优化全局组织设置相关代码 (#5921)
* feat:支持配置全局组织的显示名称

* style: 优化全局组织设置相关代码

Co-authored-by: liubo <liubo@fit2cloud.com>
2021-04-08 14:18:53 +08:00
liuboF2c
8b1e202e68 feat:支持配置全局组织的显示名称 (#5919)
Co-authored-by: liubo <liubo@fit2cloud.com>
2021-04-08 13:55:58 +08:00
fit2bot
32fe8f674c perf: csv upload (#5894)
perf: 修改翻译

Co-authored-by: ibuler <ibuler@qq.com>
2021-04-08 10:11:46 +08:00
xinwen
b4ef7bef55 fix: 授权资产列表 platform 应该显示名称 2021-04-08 10:10:32 +08:00
xinwen
31982c6547 fix: 改密计划关掉周期执行再打开,任务不再执行 2021-04-07 18:38:45 +08:00
xinwen
67d3b63c6d fix: 修正 key 为 0 的节点 2021-04-07 11:11:23 +08:00
xinwen
f34fb5d9d5 fix: 访问 tokens 接口更新用户最后登录时间 2021-04-07 10:45:34 +08:00
xinwen
3ec78ff9be fix: 创建节点的时候加锁,可以并发调用 2021-04-07 10:29:19 +08:00
xinwen
f361621ab5 feat: 资产授权支持按名称模糊搜索 2021-04-07 10:28:14 +08:00
xinwen
cd9587f68e fix: 管理用户输入带密码的秘钥报错 2021-04-06 19:46:16 +08:00
Bai
2ff01a4bb3 fix: 修复NodeChildrenAddAPI不支持patch方法的问题 2021-04-01 10:55:21 +08:00
ibuler
06ed358fbc perf: 优化acl提示 2021-03-30 10:36:41 +08:00
ibuler
3e11249e8c perf: upgrade requirements version 2021-03-30 10:25:30 +08:00
xinwen
6b5435b768 fix: Default 组织下出现 app user 2021-03-30 10:24:25 +08:00
ibuler
7d5a13de38 perf: 修改terminal statuts
perf: 优化status api

perf: 优化 status api

perf: 修改sesion参数

perf: 修改migrations

perf: 优化数据结构

perf: 修改保留日志

perf: 优化之前的一个写法
2021-03-29 19:21:32 +08:00
xinwen
07bd44990b feat: 增加 es 忽略 https 证书验证 2021-03-29 15:23:33 +08:00
noon
e4938ffc85 Update README_EN.md (#5856)
* Update README_EN.md

Translate parts of the README.md

* Update README_EN.md

* Update README_EN.md

change the word PAM to Bastion host

* Update README_EN.md

* Update README_EN.md

Clip the bug part to JumpServer 远程执行漏洞 2021-01-15
2021-03-27 20:14:45 +08:00
Bai
85d226eb07 perf: Session Login from 添加 RDP Terminal 类型 2021-03-26 10:38:48 +08:00
xinwen
c9a9ca7923 fix: 授权树节点排序 2021-03-24 10:23:45 +08:00
ibuler
306f7a08d1 perf: 修改表结构迁移,增加rdp terminal 2021-03-24 10:14:59 +08:00
老广
b86f9ac871 Update README.md 2021-03-23 15:47:19 +08:00
xinwen
2562386fe0 perf: delete_test_cookie 2021-03-23 15:27:06 +08:00
老广
61d4311e24 Merge pull request #5808 from jumpserver/dev
Dev
2021-03-19 20:01:03 +08:00
xinwen
370e1628be fix: 禁用的资产限制访问 2021-03-19 20:00:25 +08:00
xinwen
adf5c4a7b9 fix: LDAP 自动创建的用户有多余的空格 2021-03-19 17:39:06 +08:00
Bai
9fc1ae7b6d perf: 修改翻译 2021-03-19 14:45:05 +08:00
xinwen
313757dbe9 fix: 修复用户与用户组关系变化时 500 2021-03-19 14:33:39 +08:00
Jiangjie.Bai
b32e352b24 Merge pull request #5799 from jumpserver/dev
v2.8 发版
2021-03-18 21:04:37 +08:00
Bai
b950b48112 fix: 隐藏azure-sdk的日志 2021-03-18 21:03:35 +08:00
Jiangjie.Bai
519eb3bef2 Merge pull request #5797 from jumpserver/dev
v2.8 发版
2021-03-18 20:41:28 +08:00
Bai
4e55d0f1e4 添加依赖: (azure-identity==1.5.0)(azure-mgmt-subscription==1.0.0) 2021-03-18 20:30:59 +08:00
Jiangjie.Bai
2b3bb65114 Merge pull request #5794 from jumpserver/dev
v2.8 发版 (rc6)
2021-03-18 17:39:02 +08:00
xinwen
b597cfcd19 fix: 修复一些 Root 组织没数据的问题 2021-03-18 17:25:11 +08:00
xinwen
33952b2333 fix: 有无效的 ES 时,创建 Session 失败 2021-03-18 14:34:00 +08:00
xinwen
a47a9c0345 fix: Root 组织用户从用户组移除报错 2021-03-18 10:53:31 +08:00
xinwen
4e0c056867 fix: 日志审计-> 批量命令 全局组织无数据 2021-03-18 10:42:52 +08:00
ibuler
a9b5599db5 perf: 更换登录页图片 2021-03-18 10:30:23 +08:00
ibuler
8a2eb70ad2 revert: 还原api限制 2021-03-18 10:25:40 +08:00
老广
776234e8cc Merge pull request #5785 from jumpserver/dev
v2.8 发版 (rc4)
2021-03-17 20:15:31 +08:00
ibuler
e2406955bc perf: 优化license判断
perf: 优化license 过期
2021-03-17 18:47:38 +08:00
Bai
dba9550bc0 perf: 修改翻译 2021-03-17 18:25:39 +08:00
xinwen
6ad1362a3f perf: 批量命令日志导出增加 hosts_display 字段 2021-03-17 18:16:19 +08:00
Bai
dfa2f7d6c9 fix: 修复用户登录复核工单org_id为ROOT 2021-03-17 17:23:39 +08:00
ibuler
c55e2db75e perf: 优化license判断 2021-03-17 17:18:39 +08:00
xinwen
fd3a4d887e fix: Root 组织查不到命令记录 2021-03-17 17:17:15 +08:00
ibuler
42afc1e0bf fix(perms): 修复删除 资产或授权引起的bug 2021-03-17 17:15:38 +08:00
ibuler
50c89431df perf: 修复ansible summary显示两遍的问题 2021-03-17 17:13:07 +08:00
xinwen
f1f5017be3 fix: 无效的 ES 会卡住 2021-03-17 17:09:52 +08:00
ibuler
9b85aafa52 perf: 全局组织仅支持删除和查看 2021-03-17 17:09:11 +08:00
xinwen
817268d7cd perf: 资产与节点变化的时候,优化发送推送系统用户信号 2021-03-17 17:04:53 +08:00
ibuler
d3bbfdc458 perf: 不修改原来的默认配置 2021-03-17 17:02:44 +08:00
Bai
18a390d66a perf: 修改迁移文件(default_org_name: DEFAULT => Default) 2021-03-17 15:22:21 +08:00
老广
73b57a662e Merge pull request #5766 from jumpserver/dev
v2.8 发版 (rc4)
2021-03-16 20:49:04 +08:00
ibuler
ea325f6e52 perf(users): 优化用户认证来源 2021-03-16 20:48:00 +08:00
Bai
1216f15e45 fix: 修复新旧版本对于default_node节点变更冲突的问题(旧版本会将新版本迁移后的default_node节点的key修改为非1) 2021-03-16 20:45:50 +08:00
ibuler
cc3911d2f1 fix: 修复 user profile all orgs 的bug 2021-03-16 20:30:46 +08:00
xinwen
36c083f674 fix: 会话里查不到命令记录 2021-03-16 20:29:05 +08:00
xinwen
98c6a93658 fix: 任务应该分组织 2021-03-16 19:26:13 +08:00
Bai
adc607dafe fix: 修复用户角色由组织用户->组织管理员时从组织清除用户 2021-03-16 19:21:01 +08:00
xinwen
1e85805ea3 fix: 用户授权资产过滤失效 2021-03-16 19:19:36 +08:00
老广
957d3660ce Merge pull request #5754 from jumpserver/dev
v2.8 发版 (rc3)
2021-03-15 19:59:31 +08:00
xinwen
049f6dca67 fix: 删除组织时,确保没有跟节点之外的其他节点。以及组织删除后,将跟节点删除 2021-03-15 19:58:46 +08:00
ibuler
7f4377b0e8 fix(auditor): 修复审计员无法访问命令列表的bug 2021-03-15 19:29:47 +08:00
ibuler
7dfd0ee8fe fix(orgs): 修复访问 current org api 错误
perf(users): 优化用户删除和移除行为

perf: 优化组织权限判断
2021-03-15 19:29:21 +08:00
xinwen
41f375a4f7 fix: 修正多个 DEFAULT 节点 2021-03-15 19:09:29 +08:00
Bai
a50dfe9c18 perf: 管理用户创建/更新username字段设置为required 2021-03-15 19:05:47 +08:00
Bai
bd8a1a7d0e fix: 修复MFA绑定失败的问题(通过修改session中auth_backend的key实现;django.auth.get_user时校验backends路径失败返回AnonymousUser) 2021-03-15 19:05:10 +08:00
Bai
5546719712 fix: 修改get_instance逻辑;二次构建org_mapping;订阅失效速度慢于读取速度; 2021-03-15 11:40:54 +08:00
xinwen
068b39d922 perf: 优化 jms 脚本 2021-03-15 10:19:29 +08:00
Jiangjie.Bai
2e1763cce7 Merge pull request #5739 from jumpserver/dev
v2.8 发版 (2)
2021-03-12 20:56:23 +08:00
xinwen
ff9e470ce2 fix: 命令执行 500 2021-03-12 19:17:06 +08:00
xinwen
3080bf3647 fix: 修复获取整个授权树缺少节点 bug 2021-03-12 19:12:18 +08:00
Jiangjie.Bai
0b04821794 Merge pull request #5736 from jumpserver/dev
v2.8 发版 (2)
2021-03-12 18:11:25 +08:00
Bai
296bb88834 fix: 修改celery健康检测worker数量 2021-03-12 18:09:47 +08:00
Bai
c57cce8881 perf: 修改system_user.priority默认值为81 2021-03-12 18:07:52 +08:00
Jiangjie.Bai
174cc16980 Merge pull request #5728 from jumpserver/dev
v2.8 发版
2021-03-11 21:17:39 +08:00
fit2bot
5b2649f775 fix: 修改用户序列类read_only字段 (#5729)
* fix: 修改用户序列类read_only字段

Co-authored-by: Jiangjie.Bai <32935519+BaiJiangJie@users.noreply.github.com>
Co-authored-by: Bai <bugatti_it@163.com>
2021-03-11 21:15:45 +08:00
xinwen
83829df70c fix: 干掉 dockerfile 行内注释 2021-03-11 20:31:38 +08:00
Jiangjie.Bai
64641a18e6 feat: ACL (#5696)
* feature: acl (v0.1)

* feature: acl (v0.2)

* feature: acl (v0.3)

* feature: acl (v0.4)

* feature: acl (v0.5)

* feature: acl (v0.6)

* feature: acl (v0.7)

* feature: acl (v0.8)

* feature: acl (v0.9)

* feature: acl (v1.0)

* feature: acl (v1.1)

* feature: acl (v1.2)

* feature: acl (v1.3)

* feature: acl (v1.4)

* feature: acl (v1.5)

* feature: acl (v1.6)

* feature: acl (v1.7)

* feature: acl (v1.8)

* feature: acl (v1.9)

* feature: acl (v2.0)

* feature: acl (v2.1)

* feature: acl (v2.2)

* feature: acl (v2.3)

* feature: acl (v2.4)

* feature: acl (v2.5)

* feature: acl (v2.6)

* feature: acl (v2.7)

* feature: acl (v2.8)

* feature: acl (v2.9)

* feature: acl (v3.0)

* feature: acl (v3.1)

* feature: acl (v3.2)

* feature: acl (v3.3)

* feature: acl (v3.4)

* feature: acl (v3.5)

* feature: acl (v3.6)

* feature: acl (v3.7)

* feature: acl (v3.8)

* feature: acl (v3.9)

* feature: acl (v4.0)

* feature: acl (v4.1)

* feature: acl (v4.2)

* feature: acl (v4.3)

* feature: acl (v4.4)
2021-03-11 20:17:44 +08:00
ibuler
09303ecc56 perf: 优化各serializer字段翻译 2021-03-11 20:15:27 +08:00
xinwen
5f48e7aeb2 perf: Dockerfile 安装软件包时添加 rm -rf /var/lib/apt/lists/* 清理 2021-03-11 20:13:41 +08:00
ibuler
25dfce621b perf: 优化,添加登录页面图片链接到 github 2021-03-11 18:45:50 +08:00
xinwen
102d3b590b perf: luna 页面获取资产系统用户按 name 排序 2021-03-11 15:07:06 +08:00
fit2bot
a45f581b0e fix: 将 user 添加到 default 组织时进度数量显示不准确 (#5720)
Co-authored-by: xinwen <coderWen@126.com>
2021-03-11 11:09:47 +08:00
ibuler
b3991d0388 fix: 修复Migrate的问题
fix: 修复 org migrations 依赖
2021-03-11 10:59:13 +08:00
xinwen
184e8b31e6 perf: 优化下 orgid_nodekey_assetsid_mapping 2021-03-10 18:15:49 +08:00
xinwen
615bcadf62 fix: 资产授权规则过滤添加 distinct 2021-03-10 17:51:31 +08:00
fit2bot
7b2f813e7f feat: 支持修改忘记密码重置密码的连接 (#5700)
perf: 优化代码暗示

Co-authored-by: ibuler <ibuler@qq.com>
2021-03-10 11:21:12 +08:00
ibuler
81170b4b7b perf: 优化登录页面,非常给力
perf: 优化报错

perf: 优化忘记密码

perf: 添加注释
2021-03-10 10:49:11 +08:00
xinwen
c4eacbabc6 refactor: 重构缓存框架 2021-03-10 10:33:45 +08:00
xinwen
ccb0509d85 feat: 批量导入解析为Json的接口添加 title 字段 2021-03-10 10:14:06 +08:00
xinwen
886393c539 feat: 添加批量导入时将其他格式(csv, excel)解析为Json的接口 2021-03-09 14:24:13 +08:00
xinwen
15b0ad9c12 refactor: 清理代码 orgs.mixins.api.OrgMembershipModelViewSetMixin 2021-03-09 12:44:28 +08:00
wojiushixiaobai
19e2a5b9f9 fix(terminal): 修正录像接口返回状态码 2021-03-08 10:14:01 +08:00
fit2bot
0aa2c2016f perf(project): 优化命名的风格 (#5693)
perf: 修改错误的地

perf: 优化写错的几个

Co-authored-by: ibuler <ibuler@qq.com>
2021-03-08 10:08:51 +08:00
xinwen
935947c97a fix: 用户详情页的资产授权列表慢 2021-03-08 07:56:58 +08:00
xinwen
3e7e01418d perf: 优化命令记录慢的问题 2021-03-08 07:56:28 +08:00
xinwen
7f42e59714 fix: 修复生成假数据脚本错误 2021-03-05 15:59:38 +08:00
xinwen
840e5e8863 fix: 修复 default 组织迁移脚本问题 2021-03-05 15:56:08 +08:00
xinwen
24fb8b2a89 feat: 管理用户详情页添加认证方式与秘钥指纹 2021-03-05 15:26:14 +08:00
Bai
c1bf854824 perf: 添加依赖包(pyvmomi==7.0.1)(termcolor==1.1.0) 2021-03-04 17:12:51 +08:00
xinwen
ab23a357f7 feat: 推送动态系统用户,系统上用户的 comment 字段是 userdisplayname 2021-03-04 11:28:24 +08:00
xinwen
78bf6f5817 refactor: 获取授权树或者资产列表时避免读时锁 2021-03-04 11:26:54 +08:00
ibuler
91a26abf9e perf: 优化default节点 2021-03-04 11:26:37 +08:00
ibuler
d7e7c62c7a perf: 优化表结构迁移 2021-03-04 10:42:57 +08:00
xinwen
09bdff4a67 fix: 缓存框架 expire_fields 可能报错 2021-03-04 10:40:29 +08:00
Bai
56328e112a perf: 移除资源创建时对于Auditor用户的限制 2021-03-03 15:57:13 +08:00
Bai
1d15f7125e perf: 优化org获取逻辑 - 采用redis订阅机制实现orgs_mapping数据的维护;删除get_org_by_id等方法;
perf: 优化get_instance接口
2021-03-03 13:19:37 +08:00
ibuler
e6b17da57d perf: 去掉pycrypto库
perf: 显示添加pycryptodome
2021-03-03 11:48:45 +08:00
xinwen
1870fc97d5 refactor: 适配新的 default 组织 2021-03-03 10:52:09 +08:00
fit2bot
f548b4bd2b feat: serializer 添加默认值,前端可以调用 (#5666)
perf: 优化默认值

Co-authored-by: ibuler <ibuler@qq.com>
2021-03-02 19:18:25 +08:00
fit2bot
a56ac7b34e perf(orgs): 默认组织改为实体组织,并支持全局组织 (#5617)
* perf(orgs): 默认组织改为实体组织

* perf: 添加获取当前组织信息的api

* perf: 资产列表在 root 组织下的表现

* fix: 修复 root 组织引起的问题

* perf: 优化OrgModelMixin save; org_root获取; org_roles获取; UserCanUseCurrentOrg权限类

Co-authored-by: ibuler <ibuler@qq.com>
Co-authored-by: Bai <bugatti_it@163.com>
2021-03-02 14:57:48 +08:00
fit2bot
51c9a89b1f fix: 用户页面授权资产列表获取系统用户慢 (#5663)
Co-authored-by: xinwen <coderWen@126.com>
2021-03-02 14:48:47 +08:00
fit2bot
6f3ead3c42 perf: 优化系统用户生成密码的复杂度 (#5648)
* perf: 优化系统用户生成密码的复杂度

* perf: 修改 common.random_string

Co-authored-by: ibuler <ibuler@qq.com>
Co-authored-by: Bai <bugatti_it@163.com>
2021-03-01 18:40:07 +08:00
xinwen
1036d1c132 fix: 修复授权树一些问题 2021-03-01 18:09:41 +08:00
ibuler
5de5fa2e96 fix: 修复获取不到 org 的问题 2021-03-01 14:35:44 +08:00
ibuler
19043d0a66 perf: 添加 xrdp type 2021-03-01 14:34:08 +08:00
ibuler
bc3e50a529 fix: 修复代码更改引起的bug 2021-03-01 14:32:30 +08:00
fit2bot
a7ab7da61c feat: 添加限制用户只能从source登录的功能 (#5592)
* stash it

* feat: 添加限制用户只能从source登录的功能

* fix: 修复小错误

Co-authored-by: ibuler <ibuler@qq.com>
2021-02-26 17:33:11 +08:00
fit2bot
b483f78d52 fix(assets): 系统用户支持 OPENSSH 格式的私钥 (#5604)
* fix(assets): 系统用户支持 OPENSSH 格式的私钥

* fix: 升级paramiko

Co-authored-by: ibuler <ibuler@qq.com>
2021-02-26 16:34:15 +08:00
ibuler
88d8a3326f perf(ops): 优化定期检查磁盘,添加开关控制 2021-02-26 16:33:39 +08:00
ibuler
8f7dcd512a perf(ops): ansible 增加 summary 汇总 2021-02-26 16:33:27 +08:00
xinwen
d795867916 perf: 优化批量更新会查询全部数据的问题 2021-02-26 16:32:46 +08:00
xinwen
4c4f544f0d fix: 修复禁用 MFA 后还可以用 MFA 查看密码匣子 2021-02-26 16:28:45 +08:00
xinwen
8ec26dea43 feat: 重置 MFA 发个邮件 #754 2021-02-26 16:25:55 +08:00
xinwen
799d1e4043 feat: 资产授权规则添加是否有效的过滤条件 2021-02-25 14:48:47 +08:00
ibuler
b03642847e perf: 去掉 data_tree 2021-02-24 16:22:26 +08:00
fit2bot
a4e635bff0 feat: 添加下载rdp文件的api (#5637)
* feat: 添加下载rdp文件的api

* perf: 优化一些权限

* perf: 优化一波token

Co-authored-by: ibuler <ibuler@qq.com>
2021-02-24 15:31:22 +08:00
xinwen
83cc339d4b refactor: 调整组织统计数据缓存的更新策略为懒更新模式 2021-02-23 17:48:14 +08:00
ibuler
bb9790a50f feat: 为rdp 添加一个api 2021-02-23 16:22:37 +08:00
xinwen
9be3cbb936 perf: 优化用户详情页授权列表加载速度&添加可重入锁 2021-02-20 10:25:35 +08:00
xinwen
e599bca951 fix: 命令存储 es 类型主机带用户名密码报错 2021-02-18 16:41:27 +08:00
fit2bot
501ad698b7 添加 UnionQuertSet (#5578)
* 添加 UnionQuertSet

* 跑通了

* 改变了 count 这类方法的代理模式

* 使用了老广的

Co-authored-by: xinwen <coderWen@126.com>
2021-02-07 10:15:39 +08:00
Bai
50e6c96358 fix: 修复 component status 获取key error 问题 2021-02-05 17:07:21 +08:00
Jiangjie.Bai
7cf6e54f01 refactor tree (重构&优化资产树/用户授权树加载速度) (#5548) (#5549)
* Bai reactor tree ( 重构获取完整资产树中节点下资产总数的逻辑) (#5548)

* tree: v0.1

* tree: v0.2

* tree: v0.3

* tree: v0.4

* tree: 添加并发锁未请求到时的debug日志

* 以空间换时间的方式优化资产树

* Reactor tree togther v2 (#5576)

* Bai reactor tree ( 重构获取完整资产树中节点下资产总数的逻辑) (#5548)

* tree: v0.1

* tree: v0.2

* tree: v0.3

* tree: v0.4

* tree: 添加并发锁未请求到时的debug日志

* 以空间换时间的方式优化资产树

* 修改授权适配新方案

* 添加树处理工具

* 完成新的用户授权树计算以及修改一些信号

* 重构了获取资产的一些 api

* 重构了一些节点的api

* 整理了一些代码

* 完成了api 的重构

* 重构检查节点数量功能

* 完成重构授权树工具类

* api 添加强制刷新参数

* 整理一些信号

* 处理一些信号的问题

* 完成了信号的处理

* 重构了资产树相关的锁机制

* RebuildUserTreeTask 还得添加回来

* 优化下不能在root组织的检查函数

* 优化资产树变化时锁的使用

* 修改一些算法的小工具

* 资产树锁不再校验是否在具体组织里

* 整理了一些信号的位置

* 修复资产与节点关系维护的bug

* 去掉一些调试代码

* 修复资产授权过期检查刷新授权树的 bug

* 添加了可重入锁

* 添加一些计时,优化一些sql

* 增加 union 查询的支持

* 尝试用 sql 解决节点资产数量问题

* 开始优化计算授权树节点资产数量不用冗余表

* 新代码能跑起来了,修复一下bug

* 去掉 UserGrantedMappingNode 换成 UserAssetGrantedTreeNodeRelation

* 修了些bug,做了些优化

* 优化QuerySetStage 执行逻辑

* 与小白的内存结合了

* 删掉老的表,迁移新的 assets_amount 字段

* 优化用户授权页面资产列表 count 慢

* 修复批量命令数量不对

* 修改获取非直接授权节点的 children 的逻辑

* 获取整棵树的节点

* 回退锁

* 整理迁移脚本

* 改变更新树策略

* perf: 修改一波缩进

* fix: 修改handler名称

* 修复授权树获取资产sql 泛滥

* 修复授权规则有效bug

* 修复一些bug

* 修复一些bug

* 又修了一些小bug

* 去掉了老的 get_nodes_all_assets

* 修改一些写法

* Reactor tree togther b2 (#5570)

* fix: 修改handler名称

* perf: 优化生成树

* perf: 去掉注释

* 优化了一些

* 重新生成迁移脚本

* 去掉周期检查节点资产数量的任务

* Pr@reactor tree togther guang@perf mapping (#5573)

* fix: 修改handler名称

* perf: mapping 拆分出来

* 修改名称

* perf: 修改锁名

* perf: 去掉检查节点任务

* perf: 修改一下名称

* perf: 优化一波

Co-authored-by: Jiangjie.Bai <32935519+BaiJiangJie@users.noreply.github.com>
Co-authored-by: Bai <bugatti_it@163.com>
Co-authored-by: xinwen <coderWen@126.com>

Co-authored-by: xinwen <coderWen@126.com>
Co-authored-by: 老广 <ibuler@qq.com>
2021-02-05 13:29:29 +08:00
Bai
709e7af953 perf: 修改依赖版本jumpserver-django-oidc-rp=0.3.7.6 2021-02-03 14:38:38 +08:00
ibuler
93474766f6 perf(permission): 优化权限控制,显式的声明权限 2021-02-03 14:28:47 +08:00
fit2bot
542eb25e7b fix(perms): 修复权限校验时的组织切换问题 (#5546)
* fix(perms): 修复权限校验时的组织切换问题

* fix(perms): 修复获取actions的切换组织问题

* perf: 继续添加 application 的验证组织

Co-authored-by: ibuler <ibuler@qq.com>
2021-02-03 12:01:18 +08:00
Bai
609d2710fa perf: 会话列表添加search_fields字段 2021-02-03 11:55:19 +08:00
ibuler
d852d2f670 perf: 还原回原来的用户来源字段 2021-02-02 16:54:51 +08:00
Bai
087a3f2914 fix: 注释fake数据生成模块的导入(system) 2021-02-02 02:11:30 -06:00
fit2bot
36f113e307 chore: 添加贡献者图片 (#5532)
* chore: 添加贡献者图片

* chore: 优化通知样式
Co-authored-by: ibuler <ibuler@qq.com>
2021-01-27 13:03:20 +08:00
ibuler
23afe81ff5 perf(authentication): 优化connection token的使用 2021-01-26 18:07:11 +08:00
ibuler
dd5b2b9101 perf: 去掉 v2 的api 2021-01-26 18:04:47 +08:00
fit2bot
d363118911 perf(settings): 优化settings配置 (#5515)
* stash

* perf: 优化 动态seting

* perf(settings): 优化settings配置

* perf: 完成终端和安全setting

* perf: 修改翻译

* perf: 去掉其他位置的DYNAMIC

* perf: 还原回来原来的一些代码

* perf: 优化ldap

* perf: 移除dynmic config

* perf: 去掉debug消息

* perf: 优化 refresh 命名

Co-authored-by: ibuler <ibuler@qq.com>
2021-01-26 17:54:12 +08:00
fit2bot
351d4d8123 refactor(celery): 重构celery,使用 threads 模型,避免 占用太多内存 (#5525)
* refactor(celery): 重构celery,使用 threads 模型,避免 占用太多内存

* fix: 修复无法关闭fd的bug

Co-authored-by: ibuler <ibuler@qq.com>
2021-01-25 05:34:41 -06:00
Bai
efb9f48c6f perf: 删除pycryptodome依赖包安装(因为pycryptodomepycrypto安装包目录冲突);只安装 pycryptodomex依赖包; 修改 from cryptofrom cryptodome 2021-01-25 11:59:20 +08:00
Bai
d04b90b8e8 feat: 修改copyright 2014-2021 2021-01-22 10:29:33 +08:00
Jiangjie.Bai
66f57fdb27 Merge pull request #5504 from jumpserver/dev
Dev
2021-01-21 15:56:09 +08:00
Bai
c949589564 perf: 修改翻译信息; 添加Domain迁移文件 2021-01-21 15:54:45 +08:00
ibuler
992708abe8 chore: 添加ping等工具 2021-01-21 15:43:17 +08:00
xinwen
f63f8d085d fix: Web页面-> 命令执行 高危命令没有告警 2021-01-21 15:39:24 +08:00
Jiangjie.Bai
3e55447327 Merge pull request #5497 from jumpserver/dev
Dev
2021-01-20 19:31:33 +08:00
xinwen
3ac20d80d1 fix: 登录日志的登录方式不准确 2021-01-20 19:21:29 +08:00
fit2bot
3e38e4fc59 i18n: 优化翻译 (#5492)
* i18n: 优化翻译

* i18n: 优化翻译(2)

* i18n: 优化翻译(3)

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-20 19:08:39 +08:00
xinwen
1090887b2b fix: 管理用户-> 资产用户列表 更新密码报错 2021-01-20 00:58:20 -06:00
Bai
7c55d462cd fix: 修复工单翻译和登录确认工单开启问题 2021-01-20 13:57:05 +08:00
fit2bot
ea16088c08 fix: 修改翻译内容 (#5489)
* fix: 修改翻译内容

* fix: 修改翻译内容(2)

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-20 11:38:09 +08:00
Bai
4de9e608b1 fix: 修改命令存储配置DOC_TYPE字段类型为ReadableHiddenField 2021-01-20 11:24:08 +08:00
xinwen
dd9a55bd5f fix: 用户名超过64字符,命令无法记录问题 2021-01-19 20:13:20 -06:00
Jiangjie.Bai
ee22006683 Merge pull request #5485 from jumpserver/dev
Dev
2021-01-19 20:10:24 +08:00
xinwen
09d91d8bf3 fix: 修复系统平台创建名称报错信息 2021-01-19 20:08:33 +08:00
Bai
46fbc19697 i18n: 修改翻译 2021-01-19 20:05:44 +08:00
Bai
44a42e4739 fix: 修改用户相关tickets为自己申请的或者待受理的 2021-01-19 19:43:17 +08:00
xinwen
4de2ae607d perf: 优化 日志审计-> 批量命令-> 用户显示格式 2021-01-19 05:06:43 -06:00
Bai
9fee82cd14 fix: 添加录像存储endpoint校验逻辑 2021-01-19 19:05:16 +08:00
fit2bot
9126c7780d perf: 工单优化(审批人可以填写工单对应的授权规则名称) (#5468)
* perf: 工单优化(审批人可以填写工单对应的授权规则名称)

* perf: 工单优化(优化推荐的资产、应用、系统用户等逻辑)

* perf: 工单优化(优化工单邮件内容)

* perf: MethodSerializer优化(优化当Serializer不需要时, 默认可以不传递对应字段)

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-19 15:44:19 +08:00
fit2bot
0842553f8a fix: 修复 celery 等日志文件的访问漏洞 (#5469)
Co-authored-by: xinwen <coderWen@126.com>
2021-01-19 14:36:41 +08:00
xinwen
5fae919499 fix: 跳板机危险命令告警发送邮件失败 2021-01-18 06:57:57 -06:00
noon
1243546627 Update README_EN.md
style: change some sentences in the critical bug warning
2021-01-18 04:13:11 -06:00
Bai
a0cb16e5c4 perf: 修改关闭工单API权限, 申请人有权限关闭工单 2021-01-18 18:06:30 +08:00
ibuler
7b8f932dcd perf: 去掉几个不用的api 2021-01-18 17:18:05 +08:00
Bai
243eedc4f9 perf: 优化工单body html显示格式及翻译信息 2021-01-18 17:14:15 +08:00
xinwen
230ef2f662 fix: 修复用户离开组织信号被覆盖问题 2021-01-18 01:20:47 -06:00
xinwen
42019c9e8a fix: 修复 AssetUserFilterBackend 2021-01-18 01:19:01 -06:00
Bai
f6622f5e01 fix: 修改翻译 2021-01-18 15:06:36 +08:00
Bai
31f098449f perf: 修改 OPTION 获取 choices 字段选项; 修改display字段翻译 (显示名称) 2021-01-18 15:01:09 +08:00
ibuler
0d4e346210 chore: 修改readme 2021-01-18 00:26:51 -06:00
fit2bot
df193162f7 chore: 修改readme 英文版本 (#5448)
* chore: 修改readme 英文版本

Co-authored-by: ibuler <ibuler@qq.com>
2021-01-18 13:46:55 +08:00
ibuler
646f0a568b chore: 修改readme 2021-01-17 21:21:33 -06:00
Jiangjie.Bai
be5b4a5f71 Merge pull request #5440 from jumpserver/dev
Dev
2021-01-17 19:29:37 +08:00
xinwen
e61511372c fix: 修复缓存框架组织切换问题&组织的 resource_statistics 字段是只读 2021-01-17 19:28:00 +08:00
Jiangjie.Bai
d4f3280427 Merge pull request #5437 from jumpserver/dev
Dev
2021-01-17 17:58:30 +08:00
fit2bot
083f061665 perf: 更新翻译 (#5438)
* perf: 更新翻译

* perf: 更新翻译

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-17 16:22:06 +08:00
fit2bot
be7a93d81a feat: 在登录页面添加CAS/OpenID等第三方登录链接;不再自动跳转登录地址;统一开源/企业版登录页面; (#5389)
* feat: 在登录页面添加CAS/OpenID等第三方登录链接;不再自动跳转登录地址;统一开源/企业版登录页面;

* feat: 登录页面<忘记密码>链接,不限制第三方用户; 在忘记密码页面进行判断与限制

* feat: 登录页面<忘记密码>链接,不限制第三方用户; 在忘记密码页面进行判断与限制 (2)

* fix: 调整样式

Co-authored-by: Bai <bugatti_it@163.com>
Co-authored-by: Orange <orangemtony@gmail.com>
2021-01-17 15:28:22 +08:00
xinwen
156be0a64e fix: 网域列表添加默认 name 排序 2021-01-17 13:06:00 +08:00
fit2bot
a7fa2331bd feat: 添加缓存模块,添加组织资源统计 (#5407)
* feat: 添加缓存模块,添加组织资源统计

* refactor

* recover .gitkeep

* refactor

* 合并信号处理

* 修复组织添加用户没有发信号

* 修改了一个log级别

Co-authored-by: xinwen <coderWen@126.com>
2021-01-17 12:08:21 +08:00
老广
9e0d731a0c Update README.md (#5432)
* Update README.md

* Update README.md
2021-01-16 16:23:30 +08:00
Orange
1b184db956 Merge pull request #5427 from jumpserver/ibuler-patch-1
Update README.md
2021-01-15 18:06:09 +08:00
老广
4b9ed47cda Update README.md 2021-01-15 18:05:09 +08:00
ibuler
f04e2fa090 fix: bug 2021-01-14 10:27:49 +08:00
Bai
83d12d02fb perf: 重构工单处理流程 (7) 2021-01-13 18:48:38 +08:00
ibuler
64257823c5 pref(common): 优化drf options的filterset 可能引起的问题 2021-01-13 18:06:15 +08:00
fit2bot
a7468a243d perf: 重构工单处理流程 (#5408)
* perf: 重构工单处理流程

* perf: 重构工单处理流程 (1)

* perf: 重构工单处理流程 (2)

* perf: 重构工单处理流程 (3)

* perf: 重构工单处理流程 (4)

* perf: 重构工单处理流程 (5)

* perf: 重构工单处理流程 (6)

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-13 17:49:03 +08:00
fit2bot
528e251f31 perf: 日志增加请求耗时 (#5406)
Co-authored-by: Eric <xplzv@126.com>
2021-01-12 18:15:59 +08:00
fit2bot
86a055638c reactor: 重构命令&录像存储模块的Serializer及相关模块 (#5392)
* reactor: 重构命令&录像存储模块的Serializer及相关模块


Co-authored-by: Bai <bugatti_it@163.com>
2021-01-12 18:06:42 +08:00
fit2bot
b3f359d47b perf(assets): 优化节点生成子节点key生成逻辑 (#5405)
* perf(assets): 优化节点生成子节点key生成逻辑

* perf(assets): 优化写法

* perf(assets): 优化获取子节点的mark

* perf(assets): 再优化一波

* perf(asset): 继续优化这里的写法

Co-authored-by: ibuler <ibuler@qq.com>
2021-01-12 12:59:05 +08:00
Bai
dbe969b064 perf: 解决MethodSerializer被swagger调用时parent.Serializer会互相影响所需字段显示的问题 2021-01-11 15:37:29 +08:00
Bai
b9258878fe fix: 修复celery日志清除问题 2021-01-11 10:30:10 +08:00
Bai
19c2973501 perf: 可以获取多种协议类型的系统用户列表 2021-01-07 19:09:31 +08:00
ibuler
e7a3c5a822 perf(api): filter_fields被filterset_fields取代
https://django-filter.readthedocs.io/en/stable/guide/migration.html
2021-01-07 18:36:17 +08:00
老广
ff4748f9f4 Merge pull request #5385 from jumpserver/pr@dev@feat_asset_task
feat: 添加批量执行资产任务的接口
2021-01-06 16:54:21 +08:00
xinwen
60c19148dc feat: 添加批量执行资产任务的接口 2021-01-06 16:51:25 +08:00
老广
7eedc0635e Merge pull request #5362 from jumpserver/pr@dev@fix_adhoc_excution
fix: 修复多个 AdHocExecution 在一个 celery task 执行时日志错误
2021-01-06 15:57:09 +08:00
xinwen
f5fd40978e fix: 修复多个 AdHocExecution 在一个 celery task 执行时日志错误 2021-01-06 15:53:38 +08:00
Bai
72dd23dcce perf: ticket 申请添加 comment 2021-01-06 15:19:43 +08:00
老广
5b5c33116a Merge pull request #5350 from hctech/dev
fix:资产自动推送UUIDD数组格式化字符串失败
2021-01-06 14:41:24 +08:00
fit2bot
7167515a53 feat: 实现MethodSerializer, 满足serializer中SerializerField动态更改的需求 (#5382)
* feat: 实现MethodSerializer, 满足serializer中SerializerField动态更改的需求

* feat: 实现MethodSerializer, 满足serializer中SerializerField动态更改的需求 (2)

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-06 12:44:12 +08:00
fit2bot
17a01a12db reactor: 增加DynamicMappingSerializer类,实现Serializer中的字段可以动态改变的功能 (#5379)
* reactor: 增加DynamicMappingSerializer类,实现Serializer中的字段可以动态改变的功能

* reactor: 增加DynamicMappingSerializer类,实现Serializer中的字段可以动态改变的功能 (2)

* reactor: 增加DynamicMappingSerializer类,实现Serializer中的字段可以动态改变的功能 (3)

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-05 23:39:38 +08:00
Bai
3188692691 perf: 修改swagger问题 2021-01-04 16:25:16 +08:00
Bai
aab59403e1 perf: 修改工单创建授权规则的字段(created_by) 2021-01-04 14:36:54 +08:00
fit2bot
7e7e24f51f reactor&remove: 重构applications模块 & 移除applications、perms中已不再使用的模块 (#5374)
* reactor: 重构applications模块 & 删除applications、perms中已不再使用的模块

 * reactor: 1. 针对application.attrs字段的view-serializer映射逻辑,采用DynamicMapping的方案重写;
 * reactor: 2. 删除applications和perms模块中已不再使用的database-app/k8s-app/remote-app模块;

* reactor: 添加迁移文件(删除perms/databaseperrmission/remoteapppermission/k8sapppermission)

* reactor: 修改细节

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-04 05:27:03 +08:00
fit2bot
428e8bf2a0 perf: 修改 View dynamic mapping include dynamic mapping fields Serializer Class 方案的说明 (#5373)
* perf: 修改 View dynamic mapping `include dynamic mapping fields Serializer Class` 方案的说明

* perf: 修改 View dynamic mapping `include dynamic mapping fields Serializer Class` 方案的说明 (2)

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-03 14:17:02 +08:00
Bai
24b1c87121 perf: 修改细节 2021-01-02 08:00:05 +08:00
fit2bot
cef93abb2f feat: 抽象View Mapping Serializer架构设计; 重构工单View、Serializer模块 (#5371)
* perf: 优化工单模块(修改迁移文件->Model assignees_display 字段类型为list)

* ignore: try `view` `serializer jsonfields` Map design (1)

* ignore: try `view` `serializer jsonfields` Map design (2)

* ignore: try `view` `serializer jsonfields` Map design (3)

* ignore: try `view` `serializer jsonfields` Map design (4)

* ignore: try `view` `serializer jsonfields` Map design (5)

* ignore: try `view` `serializer.DynamicMappingField` Mapping design (6)

* feat: 抽象view_mapping_serializer逻辑架构; 重构工单View、Serializer模块

* feat: 抽象view_mapping_serializer逻辑架构; 重构工单View、Serializer模块(2)

* feat: 抽象view_mapping_serializer逻辑架构; 重构工单View、Serializer模块(3)

* feat: 抽象view_mapping_serializer逻辑架构; 重构工单View、Serializer模块(4)

Co-authored-by: Bai <bugatti_it@163.com>
2021-01-02 07:25:23 +08:00
Bai
5c483084b7 feat: 优化工单模块 2020-12-31 18:39:40 +08:00
fit2bot
167734ca5d feat: 优化工单模块 (#5365)
* feat: 优化工单模块

* feat: 优化工单模块2

Co-authored-by: Bai <bugatti_it@163.com>
2020-12-31 05:47:27 +08:00
Bai
1a9a5c28f5 feat: 优化工单模块1 2020-12-31 05:09:46 +08:00
fit2bot
430e20a49c feat: 优化工单模块 (#5361)
* feat: 优化工单模块1

* feat: 优化工单模块2

* feat: 优化工单模块3

Co-authored-by: Bai <bugatti_it@163.com>
2020-12-30 18:14:06 +08:00
Jiangjie.Bai
3b056ff953 reactor&feat: 重构工单模块 & 支持申请应用工单 (#5352)
* reactor: 修改工单Model,添加工单迁移文件

* reactor: 修改工单Model,添加工单迁移文件

* reactor: 重构工单模块

* reactor: 重构工单模块2

* reactor: 重构工单模块3

* reactor: 重构工单模块4

* reactor: 重构工单模块5

* reactor: 重构工单模块6

* reactor: 重构工单模块7

* reactor: 重构工单模块8

* reactor: 重构工单模块9

* reactor: 重构工单模块10

* reactor: 重构工单模块11

* reactor: 重构工单模块12

* reactor: 重构工单模块13

* reactor: 重构工单模块14

* reactor: 重构工单模块15

* reactor: 重构工单模块16

* reactor: 重构工单模块17

* reactor: 重构工单模块18

* reactor: 重构工单模块19

* reactor: 重构工单模块20

* reactor: 重构工单模块21

* reactor: 重构工单模块22

* reactor: 重构工单模块23

* reactor: 重构工单模块24

* reactor: 重构工单模块25

* reactor: 重构工单模块26

* reactor: 重构工单模块27

* reactor: 重构工单模块28

* reactor: 重构工单模块29

* reactor: 重构工单模块30

* reactor: 重构工单模块31

* reactor: 重构工单模块32

* reactor: 重构工单模块33

* reactor: 重构工单模块34

* reactor: 重构工单模块35

* reactor: 重构工单模块36

* reactor: 重构工单模块37

* reactor: 重构工单模块38

* reactor: 重构工单模块39
2020-12-30 00:19:59 +08:00
huangchao
795d1b59e0 fix:资产自动推送UUIDD数组格式化字符串失败 2020-12-27 23:00:45 +08:00
Bai
9d4f1a01fd perf: 升级依赖 python-ldap==3.3.1 2020-12-22 17:18:42 +08:00
xinwen
332f65cf2f fix: 将节点的资产添加到系统用户时固定组织 2020-12-22 15:14:01 +08:00
Bai
b79e6799c4 fix: 修复资产导入携带disk_info信息时失败的问题 2020-12-21 17:10:44 +08:00
Bai
4eef425e2a fix: 修复提交系统设置失败的问题 2020-12-21 14:30:12 +08:00
Jiangjie.Bai
3f4877f26b Merge pull request #5295 from jumpserver/dev
fix: 修复命令列表过滤字段文案`会话ID`
2020-12-17 18:26:54 +08:00
Bai
0e4d778335 fix: 修复命令列表过滤字段文案会话ID 2020-12-17 18:25:48 +08:00
Jiangjie.Bai
52d20080ff Merge pull request #5293 from jumpserver/dev
fix: 修改系统监控问题
2020-12-17 17:36:06 +08:00
Bai
ed8d72c06b fix: 修改系统监控问题 2020-12-17 17:34:37 +08:00
Jiangjie.Bai
5e9e3ec6f6 Merge pull request #5288 from jumpserver/dev
chore: Merge master from dev
2020-12-17 14:56:25 +08:00
xinwen
4f5f92deb8 fix: 批量删除管理用户报错信息太丑 2020-12-17 14:47:37 +08:00
xinwen
d2a15ee702 fix: 申请资产工单如果系统用户没填内容不推荐系统用户 2020-12-17 14:35:08 +08:00
Bai
a3a591da4b fix: 修复命令导出excel格式报错 2020-12-17 14:31:34 +08:00
Bai
3f2925116e fix: 修复metrics获取terminal过滤is_deleted字段 2020-12-17 11:30:29 +08:00
xinwen
c3e2e536e0 fix: 【用户管理】-创建用户组-可将系统审计员加入到用户组 #579 2020-12-17 10:33:45 +08:00
Jiangjie.Bai
8c133d5fdb Merge pull request #5278 from jumpserver/dev
chore: Merge master from dev
2020-12-16 18:50:49 +08:00
xinwen
89d8efe0f1 fix: perms.signals_handler.on_application_permission_applications_changed 修改名字 2020-12-16 18:49:20 +08:00
Bai
54303ea33f fix: 修复节点创建时更新孩子full_value日志输出问题 2020-12-16 18:37:54 +08:00
Bai
4dcd8dd8dd fix: 修复节点创建时更新孩子full_value日志输出问题 2020-12-16 18:37:54 +08:00
老广
4f04a7d258 Merge pull request #5280 from jumpserver/pr@dev@fix_auto_push
fix: 推送系统用户时 AdHocExecution id 重复
2020-12-16 17:36:45 +08:00
xinwen
bf308e24b6 fix: 推送系统用户时 AdHocExecution id 重复 2020-12-16 17:31:37 +08:00
Bai
b3642f3ff4 fix: 修复LDAP用户登录(未找到)时循环调用问题 2020-12-16 12:01:57 +08:00
xinwen
3aed4955c8 fix: 远程应用授权的一些问题 2020-12-16 12:00:53 +08:00
fit2bot
9a5f9a9c92 fix: 应用授权不会自动推送的bug (#5271)
Co-authored-by: xinwen <coderWen@126.com>
2020-12-16 10:23:37 +08:00
Orange
6d5bec1ef2 Merge pull request #5269 from jumpserver/dev
chore: Merge master from dev
2020-12-15 20:35:51 +08:00
Bai
e93fd1fd44 fix: 删除终端列表state的默认值0 2020-12-15 20:34:47 +08:00
xinwen
7bf37611bd fix: 系统审计员不应该能添加到组 2020-12-15 19:24:25 +08:00
xinwen
b8ec4bfaa5 fix: 日志审计-操作日志中搜索-按动作搜索:需修改文字 删除文件-->删除 #524 2020-12-15 18:38:23 +08:00
Bai
58b6293b76 fix: 组件监控添加offline数量 2020-12-15 18:37:16 +08:00
xinwen
8e12eebceb fix: 获得 oidc acs 等认证方式失败 2020-12-15 18:36:37 +08:00
Bai
72d6ea43fa fix: 修改命令列表过滤参数session 2020-12-15 18:34:05 +08:00
Bai
deedd49dc5 fix: 修复命令记录导出excel文件格式未定义的问题 2020-12-15 18:07:11 +08:00
fit2bot
a36e6fbf84 fix: 修改判断会话活跃逻辑;不必要判断协议 (#5262)
* fix: 修改判断会话活跃逻辑;不必要判断协议

* fix: 修改导入task问题

Co-authored-by: Bai <bugatti_it@163.com>
2020-12-15 18:06:35 +08:00
Bai
b57453cc3c fix: 修复命令列表过滤使用session_id字段 2020-12-15 18:05:42 +08:00
Jiangjie.Bai
62f2909d59 Merge pull request #5256 from jumpserver/dev
chore: Merge master from dev
2020-12-15 14:20:23 +08:00
xinwen
0d469ff95b fix(orgs): 用户离开组织后授权的资产没主动刷新 2020-12-15 14:00:51 +08:00
xinwen
ca883f1fb4 fix: 工单申请资产审批时系统用户没有推荐 2020-12-15 13:06:55 +08:00
fit2bot
6e0fbd78e7 fix: 修复prometheus_metricsAPI数据获取bug;修复组件注册type为空bug (#5253)
* fix: 修复prometheus_metricsAPI数据获取bug;修复组件注册type为空bug

* fix: 修改审计migrations/userloginlog/backend的verbose_name字段

Co-authored-by: Bai <bugatti_it@163.com>
2020-12-15 13:00:59 +08:00
ibuler
0813cff74f perf: 优化 docs swagger,不再要求debug 2020-12-14 11:39:02 +08:00
ibuler
ff428b84f9 fix(assets): 修复asset更新子节点时的日志错误 2020-12-14 11:33:34 +08:00
ibuler
d0c9aa2c55 fix(assets): 修复更新孩子节点时的log error 2020-12-14 11:33:34 +08:00
老广
1d5e603c0d Merge pull request #5231 from jumpserver/dev
chore(merge): 合并 dev 到 master
2020-12-11 19:29:45 +08:00
ibuler
ddbbc8df17 fix(docker): 修复Dockerfile中 echo引起的sh和bash换行兼容问题 2020-12-11 19:26:46 +08:00
Bai
90df404931 fix: 修复swagger问题 2020-12-11 19:02:33 +08:00
Bai
b9cbff1a5f del: 删除测试prometheus相关代码 2020-12-11 19:02:33 +08:00
ibuler
b9717eece3 fix: 修改访问swagger会产生的错误 2020-12-11 18:30:20 +08:00
Bai
f9cf2a243b fix: 修复settings中搜索LDAP用户重复问题 2020-12-11 18:26:10 +08:00
Bai
e056430fce fix: 修复只配置DC域时,LDAP用户认证失败的问题 2020-12-11 18:26:10 +08:00
Jiangjie.Bai
2b2821c0a1 Merge pull request #5223 from jumpserver/dev
chore(merge): 合并 dev 到 master
2020-12-11 16:53:36 +08:00
Bai
213221beae perf: 修改BasePermissionViewSet的custom_filter_fields 2020-12-11 16:19:18 +08:00
Bai
2db9c90a74 feat: 修改翻译:认证方式 2020-12-11 15:49:39 +08:00
Bai
8ced6f1168 fix: 用户ProfileAPI设置is_first_login不是可读写 2020-12-11 15:44:17 +08:00
Bai
6703ab9a77 perf: 添加BasePermissionsViewSet,支持搜索过滤 2020-12-11 15:44:17 +08:00
老广
2fc6e6cd54 Merge pull request #5213 from jumpserver/dev
chore(merge): 合并dev到master
2020-12-10 23:03:35 +08:00
Bai
2176fd8fac feat: 更新翻译 2020-12-10 21:30:56 +08:00
fit2bot
856e7c16e5 feat: 添加组件监控;TerminalModel添加type字段; (#5206)
* feat: 添加组件监控;TerminalModel添加type字段;

* feat: Terminal序列类添加type字段

* feat: Terminal序列类添加type字段为只读

* feat: 修改组件status文案

* feat: 取消上传组件状态序列类count字段

* reactor: 修改termina/models目录结构

* feat: 修改ComponentTypeChoices

* feat: 取消考虑CoreComponent类型

* feat: 修改Terminal status判断逻辑

* feat: 终端列表添加status过滤; 组件状态序列类添加default值

* feat: 添加PrometheusMetricsAPI

* feat: 修改PrometheusMetricsAPI

Co-authored-by: Bai <bugatti_it@163.com>
2020-12-10 20:50:22 +08:00
fit2bot
d4feaf1e08 fix: 修复由于更新django captch版本引起的css丢失问题 (#5204)
* fix: 修复由于更新django captch版本引起的css丢失问题

* perf: 优化验证码的高度

Co-authored-by: ibuler <ibuler@qq.com>
2020-12-10 20:48:10 +08:00
fit2bot
5aee2ce3db chore: 升级依赖库版本 (#5205)
* chore: 升级依赖库版本

* fix: 几个库回退几个版本

Co-authored-by: ibuler <ibuler@qq.com>
2020-12-10 20:46:45 +08:00
xinwen
4424c4bde2 perf(asset): 手动启动节点资产数量自检程序时区分组织 2020-12-10 18:17:01 +08:00
fit2bot
5863e3e008 perf(asset): 资产树,右击增加计算节点数量的菜单,可以让后台去计算 #527 (#5207)
Co-authored-by: xinwen <coderWen@126.com>
2020-12-10 17:12:39 +08:00
xinwen
79a371eb6c perf(auth): 密码过期后,走重置密码流程 #530 2020-12-10 16:06:26 +08:00
fit2bot
7c7de96158 feat(login): 登录日志要体现用哪个backend登录的 #4472 (#5199)
Co-authored-by: xinwen <coderWen@126.com>
2020-12-09 18:43:13 +08:00
ibuler
80b03e73f6 feat(celery): 添加celery的health check接口 2020-12-09 18:06:34 +08:00
fit2bot
32dbab2e34 perf: 数据库应用database字段添加allow_null=True (#5196)
* perf: 数据库应用database字段修改为required

* perf: 数据库应用database字段添加allow_null=True

Co-authored-by: Bai <bugatti_it@163.com>
2020-12-09 13:44:07 +08:00
ibuler
b189e363cc revert(system): 暂时去掉system组件 2020-12-09 11:24:44 +08:00
Bai
4c3a655239 perf: 用户序列类禁止修改source字段 2020-12-08 20:54:33 +08:00
Bai
5533114db5 feat: 用户授权应用树按组织节点进行区分 2020-12-08 20:37:07 +08:00
Jiangjie.Bai
4c469afa95 feat: 取消资产配置相关字段只读模式 (#5182)
* feat: 取消资产配置相关字段只读模式

* feat: 取消资产配置相关字段只读模式
2020-12-08 20:32:48 +08:00
fit2bot
2ccc5beeda perf(Dockerfile): 不再使用zh_CN.UTF-8, en_US.UTF-8 应该也是可以的 (#5190)
* perf(Dockerfile): 不再使用zh_CN.UTF-8, en_US.UTF-8 应该也是可以的

* fix: 还原回原来的LANG设置

* perf: 合并层数

* feat: 修改Dockerfile

Co-authored-by: ibuler <ibuler@qq.com>
Co-authored-by: Bai <bugatti_it@163.com>
2020-12-08 20:22:48 +08:00
xinwen
4b67d6925e feat(asset): api 添加推送系统用户到多个资产 2020-12-08 18:08:44 +08:00
fit2bot
dd979f582a stash (#5178)
* Dev (#4791)

* fix(xpack): 修复last login太长的问题 (#4786)

Co-authored-by: ibuler <ibuler@qq.com>

* perf: 更新密码中也发送邮件 (#4789)

Co-authored-by: ibuler <ibuler@qq.com>

* fix(terminal): 修复获取螺旋的异步api

* fix(terminal): 修复有的录像存储有问题的导致下载录像的bug

* fix(orgs): 修复组织添加用户bug

* perf(requirements): 修改jms-storage==0.0.34 (#4797)

Co-authored-by: Bai <bugatti_it@163.com>

Co-authored-by: fit2bot <68588906+fit2bot@users.noreply.github.com>
Co-authored-by: ibuler <ibuler@qq.com>
Co-authored-by: Bai <bugatti_it@163.com>

* stash

* feat(system): 添加系统app

* stash

* fix: 修复一些bug

Co-authored-by: xinwen <coderWen@126.com>
Co-authored-by: ibuler <ibuler@qq.com>
Co-authored-by: Bai <bugatti_it@163.com>
Co-authored-by: Jiangjie.Bai <32935519+BaiJiangJie@users.noreply.github.com>
2020-12-08 14:26:18 +08:00
Bai
042ea5e137 feat: 授权应用树API返回org_name字段 2020-12-08 11:01:09 +08:00
ibuler
2a6f68c7ba revert: 还原原来的jms,自动运行migraionts 2020-12-07 19:16:27 +08:00
fit2bot
43b5e97b95 feat(excel): 添加Excel导入/导出 (#5124)
* refactor(drf_renderer): 添加 ExcelRenderer 支持导出excel文件格式; 优化CSVRenderer, 抽象 BaseRenderer

* perf(renderer): 支持导出资源详情

* refactor(drf_parser): 添加 ExcelParser 支持导入excel文件格式; 优化CSVParser, 抽象 BaseParser

* refactor(drf_parser): 添加 ExcelParser 支持导入excel文件格式; 优化CSVParser, 抽象 BaseParser 2

* perf(renderer): 捕获renderer处理异常

* perf: 添加excel依赖包

* perf(drf): 优化导入导出错误日志

* perf: 添加依赖包 pyexcel-io==0.6.4

* perf: 添加依赖包pyexcel-xlsx==0.6.0

* feat: 修改drf/renderer&parser变量命名

* feat: 修改drf/renderer的bug

* feat: 修改drf/renderer&parser变量命名

Co-authored-by: Bai <bugatti_it@163.com>
2020-12-07 15:23:05 +08:00
ibuler
619b521ea1 fix: 修改语言i18n 2020-12-05 13:22:22 +08:00
fit2bot
3447eeda68 fix(applications): 修改attrs不能为null (#5172)
Co-authored-by: Bai <bugatti_it@163.com>
2020-12-04 13:10:59 +08:00
fit2bot
75ef413ea5 fix(applications): 修改attrs不能为null (#5171)
Co-authored-by: Bai <bugatti_it@163.com>
2020-12-04 10:24:10 +08:00
fit2bot
662c9092dc reactor(dockerfile): 使用debian构建docker (#5169)
Co-authored-by: ibuler <ibuler@qq.com>
2020-12-03 19:14:28 +08:00
ibuler
c8d54b28e2 perf: 优化变量命名 2020-12-03 14:23:16 +08:00
ibuler
96cd307d1f perf: 优化entrypoint.sh 2020-12-03 14:23:16 +08:00
ibuler
6385cb3f86 perf: 优化启动,不再自动运行migrations 2020-12-03 14:23:16 +08:00
Bai
36e9d8101a fix: 添加迁移文件: Node ordering 2020-12-03 11:16:27 +08:00
ibuler
3354ab8ce9 fix(req): fix wheel version 2020-12-03 10:47:21 +08:00
Bai
89ec6ba6ef fix: Node ordering [parent_key, value]; 修复默认组织Default节点显示问题(存在key为0的Default节点) 2020-12-03 10:45:25 +08:00
Bai
af40e46a75 fix: 优化迁移Default节点 2020-12-03 10:29:00 +08:00
Bai
86fcd3c251 fix: 添加迁移文件(如果需要,将Default节点的key从0修改为1) 2020-12-03 10:29:00 +08:00
fit2bot
c2d5928273 build(pip): 锁定pip版本 (#5152)
* build(pip): 锁定pip版本

* fix: 锁定pip版本

* fix(req): 锁定加密库版本

* fix(build): 引用pip缓存

Co-authored-by: ibuler <ibuler@qq.com>
2020-12-02 11:09:39 +08:00
xinwen
e656ba70ec fix(assets): 推送动态系统用户未指定 username 取全部 usernames 2020-12-01 20:08:54 +08:00
xinwen
bb807e6251 fix(perms): 新建授权时动态用户可能推送不成功 2020-12-01 20:08:54 +08:00
Bai
bbd6cae3d7 perf(org): 优化获取org_name字段 2020-11-30 15:21:56 +08:00
Bai
c3b09dd800 perf(perms): 优化用户授权树返回org_name字段;添加thread_local属性org_mapper减少查询次数 2020-11-30 15:21:56 +08:00
Bai
6d427b9834 fix: 禁止删除组织根节点 2020-11-30 14:19:20 +08:00
xinwen
610aaf5244 fix(assets): 动态系统用户和用户关系变化时没有推送到资产 2020-11-26 15:20:09 +08:00
xinwen
df2f1b3e6e perf(User): 用户列表在大规模数据情况下慢 2020-11-26 12:32:18 +08:00
fit2bot
f26b7a470a perf(celery-task): 优化检查节点资产数量的 Celery 任务 (#5052)
Co-authored-by: xinwen <coderWen@126.com>
2020-11-25 17:30:07 +08:00
xinwen
a4667f3312 fix(Node): Node 保存的时候,在信号里设置 parent_key 2020-11-25 16:35:12 +08:00
xinwen
91081d9423 refactor(perms): 在动态用户所绑定的授权规则中,如授权给用户组,当用户组增加成员后,动态系统用户下没有相应增加用户,因此也不会自动推送 (#5084) (#5086) 2020-11-24 19:31:45 +08:00
fit2bot
3041697edc fix(orgs): 兼容旧的组织用户关系接口 (#5088)
Co-authored-by: xinwen <coderWen@126.com>
2020-11-24 19:09:14 +08:00
xinwen
75d7530ea5 fix(perms): 在动态用户所绑定的授权规则中,如授权给用户组,当用户组增加成员后,动态系统用户下没有相应增加用户,因此也不会自动推送 2020-11-24 10:27:03 +08:00
ibuler
975cc41bce perf(build): 优化使用pip mirror 2020-11-22 18:16:45 +08:00
ibuler
439999381d perf(build): 优化构建时用的mirror 2020-11-22 17:51:24 +08:00
xinwen
39ab5978be perf(perms): 获取用户所有授权时转换成 list 2020-11-22 17:24:00 +08:00
ibuler
7be7c8cee1 fix(perms): 修复我的资产页面问题 2020-11-22 16:55:21 +08:00
xinwen
68b22cbdec fix(perms): 修复用户组授权树与资产问题 2020-11-22 15:03:03 +08:00
xinwen
a7c704bea3 perf(celery-task): 优化检查节点资产数量的 Celery 任务 2020-11-22 11:36:10 +08:00
xinwen
21993b0d89 perf(perms): 优化用户授权资产列表加载速度 2020-11-22 11:35:13 +08:00
xinwen
73ccf3be5f fix(perms): 当用户授权为空时,清空旧的授权树 2020-11-22 11:26:39 +08:00
ibuler
bf3056abc4 fix(django3): 修复django3兼容问题 2020-11-20 15:25:37 +08:00
xinwen
f2fd9f5990 perf(assets): 限制搜索授权资产返回的条数 2020-11-20 15:24:33 +08:00
fit2bot
6d39a51c36 [fix]: 兼容django 3 (#5038)
* chore(django): 修改版本依赖

* [fix]: 兼容django 3

* fix(merge): 去掉不用的JSONField

* fix(requirements): 修改加密库的版本

Co-authored-by: ibuler <ibuler@qq.com>
2020-11-19 15:50:31 +08:00
xinwen
7fa94008c9 fix(old-api): 调整旧的组织与用户关联接口 2020-11-19 15:21:16 +08:00
Jiangjie.Bai
9685a25dc6 Merge pull request #5034 from jumpserver/dev
fix(perms): nodes-with-assets 接口添加刷新重构树
2020-11-18 11:53:12 +08:00
xinwen
1af4fcd381 fix(perms): nodes-with-assets 接口添加刷新重构树 2020-11-18 11:47:50 +08:00
Jiangjie.Bai
177055acdc Merge pull request #5032 from jumpserver/dev
fix(assets): 修复获取org_root的问题
2020-11-18 11:29:53 +08:00
ibuler
6ec0b3ad54 fix(assets): 修复获取org_root的问题 2020-11-18 11:23:39 +08:00
Orange
49dd611292 Merge pull request #5029 from jumpserver/dev
Dev
2020-11-17 19:46:36 +08:00
xinwen
f557c1dace fix(assets): model 添加 asset 默认排序 2020-11-17 19:40:49 +08:00
xinwen
6e87b94789 fix(command): 系统设置-安全设置-告警接收邮件字段如果为空,则更新不了 2020-11-17 19:19:08 +08:00
xinwen
b0dba35e5a fix(public-api): 缺少SECURITY_PASSWORD_EXPIRATION_TIME字段 2020-11-17 19:11:39 +08:00
ibuler
d0b19f20c3 perf(tickets): 优化授权申请工单 2020-11-17 19:10:23 +08:00
xinwen
3e78d627f8 fix(perms): 作业中心-批量命令-选择系统用户之后,左侧资产列表未筛选,还是全部资产 2020-11-17 18:45:45 +08:00
Jiangjie.Bai
0763404235 Merge pull request #5021 from jumpserver/dev
Dev
2020-11-17 16:48:07 +08:00
ibuler
31cd441a34 fix(assets): 修复资产导入时填写节点引起的空节点名称的问题 2020-11-17 16:41:17 +08:00
ibuler
40c0aac5a9 fix(ops): 修复run as 可能引起的返回多个asset user 2020-11-17 16:39:13 +08:00
ibuler
83099dcd16 fix(ops): 修复task run as的问题 2020-11-17 16:39:13 +08:00
ibuler
0db72bd00f fix(i18n): 修复js18n的问题 2020-11-17 16:29:09 +08:00
Bai
732b8cc0b8 fix(ops): 修复AdHocExecution字段task_display长度问题 2020-11-17 16:27:41 +08:00
Bai
a9f90b4e31 perf(terminal): 修改数据库字段长度(command_stroage/replay_storage name 128) 2020-11-17 15:59:42 +08:00
Bai
cf1fbabca1 fix(command): 修复批量命令执行可能获取到host为None的问题 2020-11-17 15:25:11 +08:00
ibuler
cbcefe8bd3 fix(ops): 修复因为更改controlmaster引起的连接不服用维内托 2020-11-16 15:22:25 +08:00
ibuler
133a2e4714 fix(assets): 修复动态系统用户推送的bug 2020-11-16 15:07:01 +08:00
fit2bot
b4b9149d5d chore(docs): 修改readme (#5005)
* chore(docs): 修改readme

* chore(docs): 修改文档拼写

Co-authored-by: ibuler <ibuler@qq.com>
2020-11-16 14:52:07 +08:00
fit2bot
9af4d5f76f fix(crypto): 有时解密失败 (#5003)
* fix(nodes): 节点默认按 value 排序

* fix(crypto): 有时解密失败

Co-authored-by: xinwen <coderWen@126.com>
2020-11-16 14:47:27 +08:00
Orange
96d26cc96f Merge pull request #4991 from jumpserver/dev
fix(system_user): 修复更新系统用户时ad_domain字段为空提交失败的问题
2020-11-13 14:57:23 +08:00
Bai
18d8f59bb5 fix(system_user): 修复更新系统用户时ad_domain字段为空提交失败的问题 2020-11-13 14:56:15 +08:00
老广
841f707b6d Merge pull request #4982 from jumpserver/dev
Dev
2020-11-12 14:12:35 +08:00
xinwen
448c5db3bb fix(orgs): 添加旧的 member 相关 api 2020-11-12 11:20:42 +08:00
Bai
75b886675e perf(i18n): 更新翻译 2020-11-12 11:14:23 +08:00
Bai
24e22115de perf(i18n): 更新翻译 2020-11-12 11:14:23 +08:00
Bai
b18ead0ffa perf(i18n): 更新翻译 2020-11-12 11:01:48 +08:00
xinwen
6e8922da1c fix(trans): 完善翻译 2020-11-12 10:12:25 +08:00
Bai
dcb38ef534 perf(session): 修改变量名terminate 2020-11-11 19:10:53 +08:00
Bai
8a693d9fa7 feat(session): session列表返回can_termination字段值;设置所有db协议类型会话不可被终断和监控 2020-11-11 17:49:54 +08:00
xinwen
487932590b fix(terminal): 扩展 Terminal name 长度 2020-11-11 15:01:30 +08:00
peijianbo
79b5aa68c8 feat(terminal):危险命令告警功能 2020-11-10 18:31:16 +08:00
Bai
50a4735b07 pref(cloud): 添加 Azure 依赖包 2020-11-10 11:13:00 +08:00
Bai
1183109354 perf(github): 更新github issue模版 2020-11-10 10:30:15 +08:00
xinwen
202e619c4b feat(assets): 添加系统用户资产列表 api 2020-11-10 10:23:51 +08:00
xinwen
179cb7531c feat(assets): 管理用户的资产列表增加 options 方法 2020-11-10 10:23:51 +08:00
ibuler
987f840431 fix(i18n): 修复重置密码那的i18n问题 2020-11-10 10:17:55 +08:00
fit2bot
f04544e8df feat(MFA): 修改文案Google Authenticator为手机验证器 (#4964)
* feat(MFA): 修改文案Google Authenticator为手机验证器

* feat(MFA): 修改文案手机验证器 为 MFA验证器

* feat(MFA): 修改文案手机验证器 为 MFA验证器2

Co-authored-by: Bai <bugatti_it@163.com>
2020-11-09 19:08:24 +08:00
fit2bot
cd6dc6a722 fix(perms): 由于组织不对,导致生成或显示授权树错误 (#4957)
* perf(perms): 优化授权树生成速度

* fix(perms): 由于组织不对,导致生成或显示授权树错误

Co-authored-by: xinwen <coderWen@126.com>
2020-11-09 17:30:50 +08:00
Bai
150552d734 perf(requirements): 升级依赖版本jms-storage==0.0.35 2020-11-09 17:29:10 +08:00
Bai
388314ca5a fix(applications): 修复应用列表会返回所有组织下数据的问题 2020-11-09 16:46:38 +08:00
Bai
26d00329e7 fix(assets): 修复计算node full value时,获取node value 有可能为 __proxy__ 的问题 2020-11-06 10:20:48 +08:00
xinwen
e93be8f828 feat(crypto): 支持国密算法 2020-11-05 19:04:50 +08:00
Bai
2690092faf perf(ldap): LDAP用户搜索,本地忽略大小写,远端支持模糊 2020-11-05 14:57:08 +08:00
Bai
eabaae81ac perf(application): 优化RemoteApp应用Chrome序列类的字符串主键关联字段 2020-11-05 14:13:45 +08:00
Bai
6df331cbed perf(perms): 用户/用户组授权的所有应用API返回attrs属性 2020-11-05 11:25:32 +08:00
xinwen
0390e37fd5 feat(orgs): relation 增加搜索功能 2020-11-05 10:40:00 +08:00
xinwen
44d9aff573 fix(orgs): 改正单词拼写 2020-11-05 09:58:58 +08:00
xinwen
2b4f8bd11c feat(ops): Task 支持批量操作 2020-11-05 09:54:51 +08:00
xinwen
231332585d fix(perms): 重建授权树冲突时,响应里加 code 2020-11-03 17:53:49 +08:00
ibuler
531de188d6 perf(systemuser): 优化系统用户家目录权限更改 2020-11-03 17:51:02 +08:00
ibuler
0c1f717fb2 feat(assets): 推送系统用户增加comment 2020-11-03 17:51:02 +08:00
xinwen
9d9177ed05 refactor(terminal): 去掉 Session 中 Terminal 的外键关系 2020-11-03 15:00:44 +08:00
xinwen
ab77d5db4b fix(orgs): org-member-relation url 拼写错误 2020-11-03 14:49:50 +08:00
ibuler
eadecb83ed fix: 修改系统用户节点关系的抖索 2020-11-03 14:33:15 +08:00
ibuler
5d6088abd3 fix(assets): 修复nodes display pop 引起的bug 2020-11-03 11:22:36 +08:00
xinwen
38f7c123e5 fix(audits): sso 登录日志没有 type 2020-11-03 11:18:56 +08:00
xinwen
d7daf7071a fix(ticket): 工单申请资产的时候审批人不能搜索 2020-11-03 10:53:31 +08:00
Bai
795245d7f4 perf(perms): 授权给用户应用列表API添加dispaly字段 2020-11-02 10:26:39 +08:00
Bai
7ea2a0d6a5 perf(perms): 应用授权规则序列类添加applications类型校验 2020-10-30 17:25:34 +08:00
xinwen
c90b9d70dc perf(perms): 优化根据资产获取授权的系统用户 2020-10-30 15:59:19 +08:00
Bai
f6c24f809c perf(application): 修改DoaminAPI返回application数量;修改Application数据库datbase字段required=False 2020-10-30 15:58:46 +08:00
Bai
e369a8d51f perf(readme): 修改Readme 2020-10-30 15:44:42 +08:00
Bai
c74c9f51f0 perf(readme): 修改Readme 2020-10-30 15:44:05 +08:00
ibuler
57bf9ca8b1 perf(assets): 优化更新子节点名称的算法 2020-10-30 14:17:09 +08:00
Bai
ddc2d1106b perf(perms): 修改授权授权应用API,添加category/type过滤字段 2020-10-30 12:54:33 +08:00
ibuler
15992c636a perf: 优化node full value 2020-10-30 10:50:45 +08:00
Bai
36cd18ab9a perf(perms): 修改变量名 2020-10-30 10:47:32 +08:00
Bai
676ee93837 perf(perms): 优化方法名称;授权查询语句; 2020-10-30 10:47:32 +08:00
fit2bot
c02f8e499b feat: 添加资产导入时可以直接写节点 (#4868)
* feat: 优化资产导入, 可以添加节点全称,并自动创建

* feat: 添加资产导入时可以直接写节点

* fix: 修改错误

* fix: 添加node value校验,不能包含/

* chore: merge migrations

* perf: 去掉full value replace

Co-authored-by: ibuler <ibuler@qq.com>
2020-10-30 10:16:49 +08:00
ibuler
4ebb4d1b6d chore: resolve conflict 2020-10-29 19:19:20 +08:00
Bai
5e7650d719 perf(application): RemoteApp应用序列类返回asset_info字段 2020-10-29 05:48:01 -05:00
Bai
bf302f47e5 perf(application): 修改RemoteA序列类asset required=False 2020-10-29 05:48:01 -05:00
Bai
1ddc228449 perf(application): RemoteApp序列类字段asset,设置为CharPrimaryKeyRelatedField,修改其他字段的required=Flase 2020-10-29 05:48:01 -05:00
Bai
c9065fd96e perf(application): 优化一些小细节 2020-10-29 05:48:01 -05:00
Bai
4a09dc6e3e feat(assets): 修改GatewayModel ip字段类型为CharField 2020-10-29 05:48:01 -05:00
Bai
55bfb942e2 perf(applications): 修改应用序列类字段label 2020-10-29 05:48:01 -05:00
Bai
9aed51ffe9 perf(applications): 修改应用序列类字段长度限制 2020-10-29 05:48:01 -05:00
Bai
a98816462f perf(applications): 添加DB序列类字段翻译 2020-10-29 05:48:01 -05:00
Bai
abe32e6c79 perf(perms): 添加应用/应用授权API的type_display/category_display字段 2020-10-29 05:48:01 -05:00
Bai
77c8ca5863 perf(perms): 应用授权表添加字段,type和category 2020-10-29 05:48:01 -05:00
Bai
8fa15b3378 perf(assets/terminal): 资产系统用户和Session会话添加协议选项: mysql/oracle/postgresql 2020-10-29 05:48:01 -05:00
Bai
a3507975fb perf(application): 修改获取远程应用连接参数的API(2) 2020-10-29 05:48:01 -05:00
Bai
76ca6d587d perf(application): 修改获取远程应用连接参数的API 2020-10-29 05:48:01 -05:00
Bai
038582a8c1 feat(applications): 修改应用/应用授权的迁移文件,解决多种应用/应用授权name字段重复的问题 2020-10-29 05:48:01 -05:00
Bai
ca2fc3cb5e feat(applications): 修改ApplicationAPI方法获取序列类的逻辑 2020-10-29 05:48:01 -05:00
Bai
cc30b766f8 feat(applications): 修改ApplicationAPI方法method判断->action 2020-10-29 05:48:01 -05:00
Michael Bai
b7bd88b8a0 feat(applications): 修改ApplicationAPI方法options 2020-10-29 05:48:01 -05:00
Bai
5518e1e00f perf(application): 优化Application获取序列类attrs字段适配 2020-10-29 05:48:01 -05:00
Bai
0632e88f5d feat(application): 修改Application Model的domain字段选项2 2020-10-29 05:48:01 -05:00
Bai
9dc2255894 feat(application): 修改Application Model的domain字段选项 2020-10-29 05:48:01 -05:00
Bai
1baf35004d refactor(perms): 添加应用授权规则迁移文件;迁移旧的应用授权(db/remoteapp/k8sapp)到新的应用授权 2020-10-29 05:48:01 -05:00
Bai
5acff310f7 perf(application): 修改迁移文件,迁移应用包含id字段 2020-10-29 05:48:01 -05:00
Bai
fdded8b90f refactor(perms): 修改授权规则的目录结构(asset、application) 2020-10-29 05:48:01 -05:00
Bai
1d550cbe64 feat(perms): 添加ApplicationPermission API(包含用户/用户组/授权/校验等API) 2020-10-29 05:48:01 -05:00
Bai
4847b7a680 feat(perms): 添加ApplicationPermission Model 和 API(包含ViewSet和RelationViewSet) 2020-10-29 05:48:01 -05:00
Bai
1c551b4fe8 feat(application): 迁移old_application到new_application 2020-10-29 05:48:01 -05:00
Bai
6ffba739f2 perf(requirements): 添加依赖django-mysql==3.9.0 2020-10-29 05:48:01 -05:00
ibuler
0282346945 perf: 修改创建 2020-10-29 05:48:01 -05:00
ibuler
f6d9af8beb perf(application): 优化type优先级 2020-10-29 05:48:01 -05:00
ibuler
ba4e6e9a9f refacter: 重构application 2020-10-29 05:48:01 -05:00
ibuler
874a3eeebf perf(sessions): 优化命令 2020-10-29 18:27:36 +08:00
ibuler
dd793a4eca perf: 优化日志保存策略 2020-10-29 18:27:36 +08:00
xinwen
f7e6c14bc5 fix(assets): 向资产推送系统用户bug 2020-10-28 21:40:40 -05:00
xinwen
f6031d6f5d fix(logger): 把 drf 异常放到单独的日志文件中 2020-10-28 21:26:35 -05:00
xinwen
5e779e6542 fix(systemuser): 系统用户添加 ad_domain 字段 2020-10-28 21:23:29 -05:00
xinwen
7031b7f28b fix(auth): 修复用户登录失败次数出现0次 2020-10-28 06:06:57 -05:00
xinwen
e2f540a1f4 fix(assets): 网关的密码不能包含特殊字符 2020-10-28 06:05:53 -05:00
ibuler
108a1da212 chore: 修改github 语言识别 2020-10-26 20:51:09 -05:00
xinwen
b4a8cb768b fix(assets): 系统用户与用户组发生变化时报错 2020-10-26 05:31:30 -05:00
xinwen
6b2f606430 fix(tickets): 工单申请资产授权通过人显示不对 2020-10-26 02:03:12 -05:00
xinwen
70a8db895d fix(migrations): 生成一下遗漏的 migrations 2020-10-23 17:00:37 +08:00
xinwen
0043dc6110 fix(assets): 资产列表添加默认 date_created 排序 2020-10-23 17:00:37 +08:00
xinwen
87d2798612 fix(assets): 资产列表不能用到assets_amount字段 2020-10-23 16:54:19 +08:00
ibuler
e2d8eee629 fix(i18n): 修改收藏夹的翻译 2020-10-23 16:52:06 +08:00
xinwen
8404db8cef fix(assets): 修改 AssetViewSet.filter_fields 2020-10-23 02:25:04 -05:00
Bai
fd7f379b10 perf(requirements): 升级依赖django-timezone-field==4.0 2020-10-21 13:01:28 +08:00
ibuler
111c63ee6a perf: 修改beat版本 2020-10-20 15:02:11 +08:00
ibuler
4eb5d51840 fix: domain端口可能随便填写的问题 2020-10-20 15:01:06 +08:00
ibuler
7f53a80855 fix: 修改textfield 不再限制长度 2020-10-20 15:00:22 +08:00
ibuler
90afabdcb2 fix(perms): 修复用户的资产不区分组织的问题 2020-10-20 14:56:23 +08:00
ibuler
de405be753 fix(perms): 修复asset permission导入的bug 2020-10-20 14:46:31 +08:00
Bai
f84b845385 perf(config): 升级依赖redis==3.5.3; 添加CACHES配置: health_check_interval=30; 解决因网络不稳定导致的redis连接失败异常 2020-10-19 04:45:34 -05:00
xinwen
b1ac3fa94f fix(orgs): 更新用户时org_roles参数为None时不更新组织角色 2020-10-15 04:59:25 -05:00
Jiangjie.Bai
32fab08ed3 Merge pull request #4802 from jumpserver/dev
chore: merge dev to master
2020-10-15 14:08:36 +08:00
fit2bot
8943850ca9 perf(Dockerfile): 去掉多余的代码 (#4801)
* perf(Dockerfile): 优化构建docker,经常变动的包不使用镜像

Co-authored-by: ibuler <ibuler@qq.com>
2020-10-15 14:05:11 +08:00
ibuler
8fff57813a perf(Dockerfile): 优化构建docker,经常变动的包不使用镜像 2020-10-15 00:59:58 -05:00
xinwen
9128210e87 Merge pull request #4798 from jumpserver/dev
Dev to master
2020-10-15 12:22:00 +08:00
xinwen
e3dd03f4c7 Dev (#4791)
* fix(xpack): 修复last login太长的问题 (#4786)

Co-authored-by: ibuler <ibuler@qq.com>

* perf: 更新密码中也发送邮件 (#4789)

Co-authored-by: ibuler <ibuler@qq.com>

* fix(terminal): 修复获取螺旋的异步api

* fix(terminal): 修复有的录像存储有问题的导致下载录像的bug

* fix(orgs): 修复组织添加用户bug

* perf(requirements): 修改jms-storage==0.0.34 (#4797)

Co-authored-by: Bai <bugatti_it@163.com>

Co-authored-by: fit2bot <68588906+fit2bot@users.noreply.github.com>
Co-authored-by: ibuler <ibuler@qq.com>
Co-authored-by: Bai <bugatti_it@163.com>
2020-10-15 12:00:38 +08:00
fit2bot
aabb2aff1f perf(requirements): 修改jms-storage==0.0.34 (#4797)
Co-authored-by: Bai <bugatti_it@163.com>
2020-10-15 11:51:45 +08:00
xinwen
f8bbca38e3 fix(orgs): 修复组织添加用户bug 2020-10-14 22:50:55 -05:00
ibuler
12b180ddea fix(terminal): 修复有的录像存储有问题的导致下载录像的bug 2020-10-15 11:48:52 +08:00
ibuler
4917769964 fix(terminal): 修复获取螺旋的异步api 2020-10-15 11:48:52 +08:00
fit2bot
5868d56e18 perf: 更新密码中也发送邮件 (#4789)
Co-authored-by: ibuler <ibuler@qq.com>
2020-10-14 19:59:05 +08:00
fit2bot
bab76f3cda fix(xpack): 修复last login太长的问题 (#4786)
Co-authored-by: ibuler <ibuler@qq.com>
2020-10-14 19:58:44 +08:00
xinwen
475c0e4187 Merge pull request #4784 from jumpserver/dev
Dev
2020-10-14 15:59:21 +08:00
老广
3d070231f4 Merge pull request #4783 from jumpserver/pr@dev@chore_merge
chore: merge with master
2020-10-14 02:55:28 -05:00
ibuler
c5b0cafabd chore: merge with master 2020-10-14 15:53:06 +08:00
ibuler
a69bba8702 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-10-14 15:48:32 +08:00
xinwen
cfd0098019 fix(perms): 修复一次性获取所有资产与节点sql泛滥问题 2020-10-14 02:43:22 -05:00
ibuler
52f1dcf662 fix(users): 修复邀请用户的bug 2020-10-14 15:31:24 +08:00
xinwen
373c6c77e0 fix(perms): 未激活资产不能使用 2020-10-13 19:34:19 +08:00
xinwen
f3d052554d fix(perms): 修复失效资产授权action 还在的问题 2020-10-13 19:34:19 +08:00
xinwen
a57ce482dd fix(assets): 资产树批量删除资产数量不对 2020-10-13 19:34:19 +08:00
xinwen
a449d97f67 fix(orgs): 组织添加成员bug 2020-10-13 19:34:19 +08:00
ibuler
84e4238848 fix(ops): 修复任务schedule属性的bug 2020-10-13 19:34:19 +08:00
clannon
82dd1c35ea Update config_example.yml
SECRET_KEY 和 BOOTSTRAP_TOKEN 后面默认留个空格,遇到好几个新手对yaml格式不注意了,虽然是个小问题……
2020-10-13 19:34:19 +08:00
ibuler
5ac974a44c fix(deps): 修复依赖版本 2020-10-13 19:34:19 +08:00
fit2bot
c4caeb92ee perf: 优化生成假数据 (#4759)
* perf: 优化生成假数据
2020-10-13 19:34:19 +08:00
ibuler
f4799d90c0 fix(assets): 修复点击节点更新硬件信息的bug 2020-10-13 19:34:19 +08:00
ibuler
f97685c788 perf(orgs): 优化组织用户添加 2020-10-13 19:34:19 +08:00
ibuler
0439376326 feat(users): 添加用户suggetion api 2020-10-13 19:34:19 +08:00
xinwen
dd2413edd8 fix(perms): 授权树与资产列表的一些 bug 2020-10-13 19:34:19 +08:00
xinwen
459c5c07c9 fix(perms): 未激活资产不能使用 2020-10-13 06:30:18 -05:00
xinwen
ef86a49c1e fix(perms): 修复失效资产授权action 还在的问题 2020-10-13 06:20:43 -05:00
xinwen
0ad389515b fix(assets): 资产树批量删除资产数量不对 2020-10-13 05:47:54 -05:00
xinwen
2432b9a553 fix(orgs): 组织添加成员bug 2020-10-13 03:38:25 -05:00
ibuler
12216a718a Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-10-13 10:52:18 +08:00
ibuler
2190db1bb5 fix(ops): 修复任务schedule属性的bug 2020-10-12 21:51:31 -05:00
ibuler
5d36537404 fix(ops): 修复任务schedule属性的bug 2020-10-12 19:08:13 +08:00
clannon
5a87634c26 Update config_example.yml
SECRET_KEY 和 BOOTSTRAP_TOKEN 后面默认留个空格,遇到好几个新手对yaml格式不注意了,虽然是个小问题……
2020-10-12 05:23:49 -05:00
老广
e5eb84999a Merge pull request #4768 from jumpserver/pr@dev@chore_merge_with_master
Merge branch 'master' into dev
2020-10-12 05:22:25 -05:00
ibuler
426a86b52d Merge branch 'master' into dev 2020-10-12 18:19:58 +08:00
ibuler
f84acfe282 fix(deps): 修复依赖版本 2020-10-12 05:13:52 -05:00
fit2bot
c73b49fe30 perf: 优化生成假数据 (#4759)
* perf: 优化生成假数据
2020-10-12 12:44:30 +08:00
ibuler
98238f71ae fix(assets): 修复点击节点更新硬件信息的bug 2020-10-11 22:31:08 -05:00
ibuler
66e45f1c80 perf(orgs): 优化组织用户添加 2020-10-12 11:25:43 +08:00
ibuler
93a400f6e6 feat(users): 添加用户suggetion api 2020-10-12 11:18:11 +08:00
xinwen
535d7d8373 fix(perms): 授权树与资产列表的一些 bug 2020-10-11 21:43:44 -05:00
Bai
db268280b4 perf(requirements): 修改依赖包Pillow==7.1.0 2020-10-08 22:06:43 -05:00
Bai
873789bdab perf(requirements): 修改依赖包Pillow==7.1.0 2020-10-08 22:04:23 -05:00
Jiangjie.Bai
6584890ab1 Merge pull request #4754 from jumpserver/dev
Dev
2020-10-09 10:37:47 +08:00
fit2bot
96d5c519ec perf(i18n): 添加翻译信息 (#4748)
* perf(i18n): 添加翻译信息

* perf(users): 重置密码成功邮件添加DEBUG信息

* perf(i18n): 修改翻译信息

* perf(i18n): 修改翻译信息

Co-authored-by: Bai <bugatti_it@163.com>
2020-09-30 16:11:03 +08:00
Bai
6e91217303 perf(authentication): 修改用户登录页面,使用其他方式认证时点击忘记密码提示联系管理员 2020-09-30 02:05:14 -05:00
xinwen
5dd1dfc59e fix(orgs): 用户修改组织角色报错 2020-09-30 11:40:52 +08:00
Bai
a53e930950 perf(tickets): 申请资产工单支持授权多个系统用户 2020-09-29 19:11:20 +08:00
xinwen
8f52f79d91 fix(migrations): 增加迁移脚本 2020-09-29 17:48:19 +08:00
xinwen
3af0e68c84 fix(perms): 用户授权树bug 2020-09-29 17:25:00 +08:00
Bai
3ccf32ed48 feat(authentication): 用户重置密码成功后,发送用户重置密码成功邮件 2020-09-29 16:28:14 +08:00
xinwen
d52ed2ffb9 fix(xpack): GatheredUser 点击资产树报错 2020-09-29 16:26:02 +08:00
ibuler
38588151d1 继续修改issue template 2020-09-29 14:28:27 +08:00
ibuler
2a95aca28f chore: 修改issue模板 2020-09-29 14:18:14 +08:00
Bai
1915224063 fix(terminal): 修复正在使用的命令/录像存储可以被删除的问题 2020-09-29 13:37:48 +08:00
fit2bot
da4f9efb42 fix(perms): 修改检查资产授权过期策略 (#4722)
* fix(perms): 修改检查资产授权过期策略

* perf: 优化一行代码

Co-authored-by: xinwen <coderWen@126.com>
Co-authored-by: ibuler <ibuler@qq.com>
2020-09-29 13:34:55 +08:00
fit2bot
579c2c1d7a feat(celery): 保证同时只有一个beat在运行 (#4723)
* feat(celery): 保证同时只有一个beat在运行

* fix: 修复代码拼写错误

* fix: 修复拼写

* fix: remove import

Co-authored-by: ibuler <ibuler@qq.com>
2020-09-29 13:33:53 +08:00
xinwen
2a86c3a376 fix(perms): 完善检查资产授权过期的celery task 2020-09-29 11:44:20 +08:00
Bai
5558e854de perf(permms): 应用授权树返回授权应用的总数量 2020-09-29 11:43:31 +08:00
xinwen
31b6c3b679 feat(celery): 设置 node_tree celery work 为 2 2020-09-28 18:49:40 +08:00
fit2bot
2209a2c8d2 feat(orgs): 修改OrgMemberRelationAPI,支持通过查询参数控制是否忽略已存在的数据 (#4720)
* feat(orgs): 修改OrgMemberRelationAPI,支持通过查询参数控制是否忽略已存在的数据

* feat(orgs): 修改构建数据库查询参数的问题

Co-authored-by: Bai <bugatti_it@163.com>
2020-09-28 18:49:18 +08:00
xinwen
f596b65ed7 feat(auth): sso 生成的地址重复访问的时候,重定向到用户指定的 next 地址 2020-09-28 16:20:32 +08:00
fit2bot
2c9c64a13f fix(jms): 启动脚本 task 添加 celery_node_tree, check_asset_perm_expired 两个 worker (#4716)
* fix(jms): 启动脚本 task 添加 celery_node_tree, check_asset_perm_expired 两个 worker

* fix: 修改脚本

Co-authored-by: xinwen <coderWen@126.com>
Co-authored-by: ibuler <ibuler@qq.com>
2020-09-28 16:19:49 +08:00
xinwen
1d49b3deca fix(perms): 用户搜索全部授权资产报错 2020-09-28 13:17:45 +08:00
xinwen
6701a1b604 fix(perms): 用户添加到用户组报错 2020-09-27 20:53:34 +08:00
ibuler
b8ff3b38bf fix: 修复middleware引起的bug 2020-09-27 17:58:41 +08:00
fit2bot
d3be16ffe8 fix (#4680)
* perf(perms): 资产授权列表关联数据改为 `prefetch_related`

* perf(perms): 优化一波

* dispatch_mapping_node_tasks.delay

* perf: 在做一些优化

* perf: 再优化一波

* perf(perms): 授权更改节点慢的问题

* fix: 修改一处bug

* perf(perms): ungrouped 资产数量计算方式

* fix: 修复dispatch data中的bug

* fix(assets): add_nodes_assets_to_system_users celery task

* fix: 修复ungrouped的bug

* feat(nodes): 添加 favorite 节点

* feat(node): 添加 favorite api

* fix: 修复clean keys的bug


Co-authored-by: xinwen <coderWen@126.com>
Co-authored-by: ibuler <ibuler@qq.com>
2020-09-27 16:02:44 +08:00
老广
e3648d11b1 feat: 录像存储server类型,可以设置如何存储了 (#4699)
feat: Server 类型的录像存储可以上传到 oss等上面
2020-09-27 14:34:47 +08:00
fit2bot
d4037998c8 perf: 优化middleware的使用 (#4707)
perf: 优化middleware的使用
2020-09-27 14:34:05 +08:00
fit2bot
82de636b5c perf(common): 检查referer (#4697)
Co-authored-by: ibuler <ibuler@qq.com>
2020-09-27 11:48:21 +08:00
Bai
91f1280f97 perf(settings): public setting API返回LOGIN_TITLE字段 2020-09-27 11:37:38 +08:00
fit2bot
7c82f5aa2b chore: 修改issue template (#4703)
* chore: 修改issue template

* perf: 又修改了些

Co-authored-by: ibuler <ibuler@qq.com>
2020-09-25 16:09:56 +08:00
老广
6a801eaf33 Update issue templates 2020-09-25 15:47:43 +08:00
xinwen
28da819735 perf(assets): 优化节点树
修改树策略,做读优化,写的速度降低
2020-09-21 10:23:09 +08:00
Jiangjie.Bai
cdf3cf3e8f Merge pull request #4667 from jumpserver/dev
fix(command): 修复命令导出选中项问题
2020-09-16 19:55:18 +08:00
Bai
118564577e fix(command): 修复命令导出选中项问题 2020-09-16 19:53:58 +08:00
Jiangjie.Bai
47f2df0a5b Merge pull request #4665 from jumpserver/dev
fix(command): 修复命令导出选中项问题
2020-09-16 19:38:16 +08:00
Bai
e4aafc236d fix(command): 修复命令导出选中项问题 2020-09-16 19:36:21 +08:00
Jiangjie.Bai
b1c530bba8 Merge pull request #4661 from jumpserver/dev
Dev
2020-09-16 19:03:38 +08:00
Bai
95aa9781c3 fix(command): 修复命令导出选中项会导出全部的问题 2020-09-16 19:02:49 +08:00
xinwen
9f6540afe3 fix(tickets): 调整登录确认工单 title 2020-09-16 18:03:15 +08:00
ibuler
832bb832ce fix(authentication): 修复cas退出的bug 2020-09-16 17:53:01 +08:00
ibuler
501329a8db fix: 再次修复 2020-09-16 17:51:45 +08:00
ibuler
8913aacd1e fix(authentication): 修复同时开启radius, openid引起的问题 2020-09-16 17:51:45 +08:00
xinwen
e461fbdf50 fix(tickets): 修复已处理工单的 待处理人 字段 2020-09-16 17:47:26 +08:00
peijianbo
3941539408 fix(authentication):修复开启二次认证时,地址跳转出错问题 2020-09-16 16:46:28 +08:00
xinwen
605db2d905 fix(auth): 调整登录复核工单 title 2020-09-16 15:31:20 +08:00
Jiangjie.Bai
1ef3f24465 Merge pull request #4648 from jumpserver/dev
chore: merge dev to master
2020-09-15 17:23:48 +08:00
peijianbo
4090a0b123 feat(uathentication):登录表单回车可直接提交表单 2020-09-15 17:10:52 +08:00
ibuler
a55e28fc87 perf: 优化ldap超时时间 2020-09-15 15:26:18 +08:00
ibuler
82cf53181f perf(settings): 修改默认超时时间为10s 2020-09-15 15:26:18 +08:00
ibuler
78232aa900 perf(terminal): 优化命令提交 2020-09-14 19:25:50 +08:00
ibuler
d2c93aff66 feat: 可以关闭工单菜单 2020-09-14 18:25:47 +08:00
peijianbo
516e2309c0 bug(authentication): 登录表单仅提交时加密(xpack) 2020-09-14 17:28:49 +08:00
peijianbo
4688e46f97 feat(authentication):将cas认证通过的登录日志记录到系统 2020-09-14 12:46:12 +08:00
peijianbo
1299f3da75 feat(authentication):登录表单仅提交时加密 2020-09-14 12:45:44 +08:00
Bai
fe502cbe41 fix(assets): 修复系统用户导入模版没有密码字段的问题 2020-09-14 12:43:39 +08:00
xinwen
09bfac34f1 fix(orgs): 修复 org-memeber-relation POST 报错 2020-09-14 11:00:10 +08:00
Jiangjie.Bai
12a86d7244 Merge pull request #4611 from jumpserver/dev
Dev
2020-09-08 20:08:53 +08:00
Jiangjie.Bai
269eea8802 Merge branch 'master' into dev 2020-09-08 19:32:38 +08:00
老广
72aa265dd7 doc: 修改readme,添加子项目连接 (#4602)
* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2020-09-08 14:31:54 +08:00
老广
e26716e1e1 Update README.md
docs: 添加  developer wanted
2020-09-08 14:30:31 +08:00
Bai
80b9db417c feat(ldap): 获取ldap用户列表,采用线程方式 2020-09-08 11:57:45 +08:00
Bai
d944b5f4ff feat(tickets): 工单添加comment字段 2020-09-07 20:00:09 +08:00
peijianbo
1b84afee0c feat(audits):修改日志默认保存时间(90->9999) 2020-09-07 18:35:19 +08:00
fit2bot
172b6edd28 feat(user):同一个账号仅允许在一台终端设备登录 (#4590)
* feat(user):同一个账号仅允许在一台终端设备登录

* feat(user):同一个账号仅允许在一台终端设备登录

* feat(user):同一个账号仅允许在一台终端设备登录

* feat(user):同一个账号仅允许在一台终端设备登录

* feat(user):同一个账号仅允许在一台终端设备登录

Co-authored-by: peijianbo <peijainbo3006@163.com>
2020-09-07 17:42:59 +08:00
Bai
e6f248bfa0 feat(i18n): 添加云同步实例任务hostname_strategy字段翻译信息 2020-09-07 17:39:35 +08:00
ibuler
1f037b1933 feat(i18n): 添加新翻译 2020-09-02 15:21:48 +08:00
Bai
ae9bbd2683 fix(common) 修复管理员未设置Email主题前缀导致发送邮件失败的问题 2020-09-02 10:23:44 +08:00
xinwen
a0085c4eab feat(README): 添加企业版试用链接 2020-09-01 16:50:43 +08:00
ibuler
ddb71c43c4 fix(users): 修复用户在不同组织引起的问题 2020-09-01 16:47:13 +08:00
herealways
8227f44058 feat: 添加AES GCM模式为默认的加密方式 2020-09-01 14:48:40 +08:00
ibuler
e81762d692 ci(Dockerfile): 修改依赖的setuptools版本,导致的ldap无法安装问题 2020-09-01 13:39:08 +08:00
老广
5b8fa1809c Update README.md
docs: 添加  developer wanted
2020-08-24 10:04:03 +08:00
BaiJiangJie
90ba6442dd Merge pull request #4523 from jumpserver/dev
fix(orgs): 完善组织与用户变化时的信号
2020-08-20 16:40:07 +08:00
xinwen
a28334b6d8 fix(orgs): 完善组织与用户变化时的信号 2020-08-20 16:34:10 +08:00
BaiJiangJie
692dd6c8c4 Merge pull request #4519 from jumpserver/dev
Dev
2020-08-20 12:48:19 +08:00
xinwen
15992ad5b3 fix(tickets): 修复工单comment 2020-08-20 10:51:24 +08:00
Bai
072c3155ca style(orgs): 修改组织删除失败翻译信息 2020-08-19 21:56:03 +08:00
fit2bot
9cb5985947 fix(orgs): 创建组织用户不必填 (#4515)
* fix(role): 更改role的顺序

* fix(tickets): 修复工单邮件跳转地址

* fix(tickets): 修复工单复制链接地址不对

* fix(orgs): 创建组织用户不必填

Co-authored-by: xinwen <coderWen@126.com>
2020-08-19 21:44:20 +08:00
ibuler
0fd2f18240 fix(authentication): 修复登录时有时解密失败 2020-08-19 21:42:07 +08:00
xinwen
9ca8ab218c fix(authentication): 登录复核Not found 2020-08-19 07:42:05 -05:00
xinwen
fcd8356e90 fix(users): 组织管理员,移除组织成员报错500 #231 2020-08-19 07:42:05 -05:00
xinwen
64d093e677 fix(users): 用户接口添加org_roles字段 2020-08-19 07:42:05 -05:00
xinwen
11493b9f3d fix(tickets): 修复申请资产工单不能关闭 2020-08-19 07:42:05 -05:00
xinwen
5a9c91d9dd fix(authentication): 组织成员禁用再激活,登录报错 #239 2020-08-19 07:42:05 -05:00
xinwen
25dcb9510c fix(audits): 修复超级审计员登录-日志审计-批量命令-单击主机列链接报错误信息 403 2020-08-19 07:42:05 -05:00
Bai
a38a1868ca style(ticket): 修改工单状态翻译: Open:待处理;Closed:已完成 2 2020-08-19 07:21:31 -05:00
Bai
bec9b97092 style(ticket): 修改工单状态翻译: Open:待处理;Closed:已完成 2020-08-19 07:21:31 -05:00
ibuler
d5b9596e7d perf(config): 修改默认登录日志保存时间 2020-08-18 05:17:40 -05:00
xinwen
af85d551ad fix(users): 修改用户角色显示名称 2020-08-14 17:13:01 +08:00
BaiJiangJie
ab8c57894e Merge pull request #4488 from jumpserver/dev
Dev
2020-08-14 11:45:42 +08:00
xinwen
0e0c9275bd fix(application): 远程应用MySQL Workbench添加port字段 2020-08-13 16:50:54 +08:00
xinwen
21b4a8600c fix(terminal): Session can_join 添加 k8s 2020-08-13 14:14:20 +08:00
xinwen
4cf5573c36 fix(users): 修复用户与用户组关系变化时没触发信号 2020-08-12 18:28:18 +08:00
xinwen
962ea67b84 refactor(authentication): 密码解密抽取成方法 2020-08-12 18:27:41 +08:00
xinwen
31720c9dcc feat(assets): 系统用户添加 home system_groups 字段 2020-08-12 15:05:46 +08:00
xinwen
54fe4835f6 fix(authentication): SSO登录添加 next_url 2020-08-11 19:36:34 +08:00
xinwen
91649a3908 feat(applications): 添加 k8s 应用 2020-08-11 12:56:54 +08:00
xinwen
0a242c3e81 fix(audis): 生成操作日志时间字段索引迁移脚本 2020-08-11 11:27:19 +08:00
huamaolin
25d1b3334f fix(OperateLog): 修复操作日志按时间查询慢
增加表OperateLog datetime字段索引
2020-08-10 19:28:26 -07:00
xinwen
ffde306a04 fix(assets): 修复批量删除资产失败问题 2020-08-11 10:15:14 +08:00
xinwen
f1e29a91f7 fix(users): 用户接口添加汇总角色字段 2020-08-07 18:53:03 +08:00
xinwen
ec2b3b4cda fix(user): 调整User接口字段 2020-08-07 13:57:22 +08:00
xinwen
1a9d9e4145 feat(ticket): 申请资产工单添加actions字段 2020-08-06 15:21:54 +08:00
xinwen
a14f121fad fix(orgs): 组织成员关系接口添加role_display字段 2020-08-05 19:24:28 +08:00
xinwen
a25da8d479 feat(authentication): 超级管理员密码不能是admin 2020-08-05 17:23:58 +08:00
fit2bot
15fe7f810b perf(url): 优化 /api/docs/? 都可以访问文档 (#4446)
Co-authored-by: ibuler <ibuler@qq.com>
2020-08-05 14:09:23 +08:00
xinwen
f6a4253936 feat(ticket): 工单关闭生成 Comment 2020-08-05 11:13:23 +08:00
xinwen
c3c5801d2e refactor(orgs): 重构组织与用户关系接口 2020-08-04 11:33:15 +08:00
Orange
f0d564180c perf: 优化Issues Template 2020-08-04 10:39:13 +08:00
ibuler
8ee7230ead fix(auth): 修复radius decode error的问题 2020-08-03 10:31:44 +08:00
xinwen
90f03dda62 feat(authentication): 类似腾讯企业邮单点登录功能 2020-07-31 19:37:51 +08:00
ibuler
4e7a5d8d4f ci: 修改docker构建的问题 2020-07-29 19:50:41 +08:00
xinwen
2ed0927b18 fix(login): 用户登录堡垒机的时候偶尔会出现“密码解密失败”,导致无法正常登录。 #4408 2020-07-29 17:54:59 +08:00
xinwen
e98235ca27 refactor(serializer): 设置 BulkSerializerMixin 的默认 ListSerializerAdaptedBulkListSerializer 2020-07-29 17:09:48 +08:00
xinwen
1b052a8729 feat(terminal): 终端管理添加批量更新接口 2020-07-29 15:14:50 +08:00
xinwen
34b188bbe7 fix(csv): 修复JMSCSVParser调用serializer导致循环调用问题 2020-07-29 10:45:41 +08:00
ibuler
3e6cd1c1d3 ci(dockerfile): 修改dockerfile构建 2020-07-28 19:29:15 +08:00
xinwen
f8e248f0af feat(ticket): 调整申请资产工单 2020-07-28 19:19:37 +08:00
xinwen
b331730422 fix(users): 替换旧有角色常量 2020-07-28 18:24:53 +08:00
xinwen
de3865fa1d refactor(orgs): 重构组织表结构 2020-07-28 10:16:26 +08:00
xinwen
1bc913ab13 feat(perms): 资产授权添加GUI复制粘贴动作 2020-07-27 15:24:09 +08:00
OrangeM21
2f11a70341 fix(authentication): 调整登录页面样式 2020-07-24 18:39:17 +08:00
xinwen
c277aec561 feat(authenticaion): 添加登录页面验证码与MFA开关 2020-07-24 17:40:41 +08:00
ibuler
2a53a20808 perf(assets): 修改 系统用户 管理用户 等的用户名长度到128 2020-07-24 11:40:36 +08:00
Bai
674ad40f67 fix(perms): 修复perms api UserPermissionMixin 中 kwargs 参数传递(未发现引出其他问题) 2020-07-23 11:09:01 +08:00
github-actions
78089e01a3 fix(cas): 修复cas校验不同的问题 2020-07-22 17:20:39 +08:00
ibuler
1b71350199 fix(es): 修复es7数据结构引起的命令无法查询的问题
- 更新了 jms-storage版本依赖
2020-07-22 17:14:23 +08:00
老广
5d08438dad feat(ops): 项目启动时,清除指定的celery定时任务;添加获取celery定时任务的函数 (#4378)
* feat(ops): 添加获取celery定时任务的函数

* feat(ops): 项目启动时,清除指定的celery定时任务

* feat(ops): 项目启动时,清除指定的celery定时任务 2

Co-authored-by: Bai <bugatti_it@163.com>
2020-07-21 15:33:33 +08:00
github-actions
31ba0564e4 ci(github): 添加通用action 2020-07-21 14:57:52 +08:00
github-actions
ea5b7cd921 ci(github): 添加通用action 2020-07-21 14:32:35 +08:00
Bai
3e541162e3 fix(authentication): 修复用户认证Radius认证中参数传递错误问题 *kwargs -> **kwargs 2020-07-21 10:30:19 +08:00
BaiJiangJie
6e19384231 chore(readme): 更新README (#4359)
* Update README.md

* Update README.md
2020-07-17 16:31:54 +08:00
老广
19903c80c3 Merge pull request #4345 from jumpserver/dev
fix(radius): 修复radius认证失败问题 (#4342)
2020-07-16 18:20:15 +08:00
BaiJiangJie
070af8c491 fix(radius): 修复radius认证失败问题 (#4342) (#4343)
* fix(radius): 修复radius认证失败问题,添加get_django_user方法参数(django-radius==1.4.0 中添加了额外参数)

* fix(radius): 修复radius认证失败问题,重写authenticate方法(django-radius 不接受public_key参数)
2020-07-16 18:08:44 +08:00
BaiJiangJie
0fca33d874 fix(radius): 修复radius认证失败问题 (#4342)
* fix(radius): 修复radius认证失败问题,添加get_django_user方法参数(django-radius==1.4.0 中添加了额外参数)

* fix(radius): 修复radius认证失败问题,重写authenticate方法(django-radius 不接受public_key参数)
2020-07-16 17:07:40 +08:00
BaiJiangJie
08fdc57543 Merge pull request #4338 from jumpserver/dev
merge(master): Merge from dev to master
2020-07-16 10:50:26 +08:00
Bai
bb60d2a1d9 fix(users): 组织管理员创建用户时,角色只能选择: 用户 2020-07-15 20:14:14 +08:00
xinwen
0014bd0cb9 fix(audits): 操作日志中的动作搜索条件,删除文件字段改成删除 (#4334) 2020-07-15 20:13:21 +08:00
xinwen
9488c8bd97 fix(cmd_filter): 命令过滤器唯一应该为 name + org_id (#4325) 2020-07-15 20:04:46 +08:00
Bai
1f30d459ae fix(command): 修复命令记录没有根据sesion进行过滤的问题 2020-07-15 17:30:55 +08:00
Bai
4e933fc1ca feat(session + db): 会话搜索添加登录来源选项 2020-07-15 17:25:43 +08:00
Bai
c0f3a1f64a fix(all): 修复创建资源时,created_by字段长度限制导致创建失败的问题 2020-07-15 16:27:40 +08:00
Bai
0f70f5eccf fix(orgs): 删除组织失败时返回对应错误信息 2020-07-15 16:25:34 +08:00
Bai
eef942c155 fix(gather_asset_users): 修复收集资产用户日志中用户名显示不完整的问题 2020-07-15 16:16:11 +08:00
xinwen
061592fa6b fix(terminal): 移除CommandQueryMixin.get_filter_fields 2020-07-14 19:35:18 +08:00
Bai
c7a02586c1 chore(jms): 修改celery队列数量: 2 -> 4 2020-07-14 19:34:17 +08:00
Bai
ddcd4ebbfc fix(asset_user): 修改创建AuthBook对象锁机制,使用select_for_update替换redis_lock3 2020-07-14 19:06:06 +08:00
Bai
9550ea62fb fix(asset_user): 修改创建AuthBook对象锁机制,使用select_for_update替换redis_lock2 2020-07-14 19:06:06 +08:00
Bai
abcb589658 fix(asset_user): 修改创建AuthBook对象锁机制,使用select_for_update替换redis_lock 2020-07-14 19:06:06 +08:00
Bai
1bb366ad94 fix(authbook): 修改创建AuthBook对象锁机制,解决并发操作堵塞问题 2020-07-14 19:06:06 +08:00
xinwen
a5df7738f6 fix(audits): 日志审计模块 Serializer 添加 org_id 字段 2020-07-14 18:05:21 +08:00
xinwen
da858c8998 fix(tickets): 隐藏申请资产工单URL (#4307) 2020-07-13 17:49:00 +08:00
BaiJiangJie
724a8f6324 fix(assets): 修复用户name字段长度与资产created_by字段长度不一致导致创建资产失败的问题 (#4302)
* fix(assets): 修复用户name字段长度与资产created_by字段长度不一致导致创建资产失败的问题

* fix(assets): 修复用户name字段长度与资产created_by字段长度不一致导致创建资产失败的问题(修改迁移文件名称 0050_auto_20200702_1602.py -> 0051_auto_20200713_1143.py)
2020-07-13 12:00:44 +08:00
ibuler
437df9a533 fix(assets): node asset 关系发生变化是,关联系统用户引起的问题 2020-07-10 17:31:51 +08:00
ibuler
f2c70d0bba ci(fix): 修改构建脚本 2020-07-09 17:44:54 +08:00
ibuler
ea913a5b6e ci(build): 修改构建逻辑 2020-07-09 17:44:54 +08:00
ibuler
c0cd8878dc ci(fix): 修改构建脚本 2020-07-09 17:41:27 +08:00
ibuler
15e995ade6 ci(build): 修改构建逻辑 2020-07-09 17:41:27 +08:00
BaiJiangJie
cadf42f3fa Merge pull request #4280 from jumpserver/dev
merge: Merge to master from branch dev
2020-07-09 15:02:47 +08:00
BaiJiangJie
f588093cd3 Merge pull request #4282 from jumpserver/dev_master
merge: Merge to master from branch dev
2020-07-09 14:51:03 +08:00
Bai
7c12f8f462 merge: Merge to dev from branch master 2020-07-09 14:27:08 +08:00
xinwen
6f5a92c21f [Update] assets/gathered_user 添加过滤字段 2020-07-09 14:08:46 +08:00
xinwen
17a76994dc [Update] 系统用户添加过滤字段 2020-07-09 14:08:46 +08:00
jym503558564
39d793bc47 fix:修改 ftp 日志按开始日期排序 2020-07-09 14:08:46 +08:00
xinwen
c3eafbee8c [Fix] X-Pack/云管中心 i18n 2020-07-09 14:08:46 +08:00
ibuler
10f99be100 添加example api 2020-07-09 14:08:46 +08:00
xinwen
8eb6cfa9c9 fix(ticket): 修改工单获取系统用户的字段 (#4274)
fix(ticket): 申请资产工单修改bug
2020-07-09 14:06:06 +08:00
xinwen
f430c9e435 Merge pull request #4270 from jumpserver/request-asset-ticket-dev
feat(ticket): 添加申请资产工单
2020-07-08 15:42:04 +08:00
BaiJiangJie
10c428a432 Merge pull request #4269 from jumpserver/dev_user_group
fix(user_group): 用户组中添加用户,取消审计员的限制
2020-07-08 15:23:45 +08:00
Bai
a30c603bdc fix(user_group): 用户组中添加用户,取消审计员的限制 2020-07-08 15:17:07 +08:00
xinwen
39a75074af [Feature] 添加申请资产工单 2020-07-08 15:09:44 +08:00
BaiJiangJie
452ed2baf1 Merge pull request #4268 from jumpserver/dev_adminuser
fix(assets): 修复测试管理用户/系统用户资产可连接性问题
2020-07-08 14:47:09 +08:00
Bai
8c7240193a fix(system_user): 修复系统用户测试可连接性失败问题(所有资产)(不应该执行校验系统用户是否可以推送的逻辑) 2020-07-08 11:30:37 +08:00
Bai
b622aca9af fix(admin_user): 修复管理用户单独测试某台资产可连接性失败的情况(private_key_file) 2020-07-08 10:48:25 +08:00
ibuler
ce7edc1612 ci(release): 修改 release 使用的tag,而不是自动生成的 2020-07-08 10:36:43 +08:00
BaiJiangJie
ebf1a9d5e2 Merge pull request #4255 from jumpserver/dev_asset
feat(assets): 资产序列类修改字段名 _name 为 _display
2020-07-07 14:36:27 +08:00
ibuler
23ef185b7e fix(build): 修改调用action jumpserver/action-build-upload-asset的参数 2020-07-07 14:30:34 +08:00
Bai
69f49f7776 feat(i18n): 修改翻译 2020-07-07 14:13:20 +08:00
ibuler
6b16aa6bc0 ci(build): 修改 构建脚本
- sed 在不同系统下表现不同
2020-07-07 13:52:50 +08:00
ibuler
43741dc9b2 ci(build): 修改 workflow
- 修改使用action jumpserver/action-build-upload-assets
2020-07-07 13:38:26 +08:00
ibuler
18174e2867 fix(build): 修稿构建 2020-07-07 13:28:59 +08:00
ibuler
3077d11483 ci(release&build): 添加 github workflows, 自动构建 release
- 添加 utils/build.sh 脚本,构建后放到 release 目录中
- 当 push tags时,自动创建 Release Draft
- 自动生成 Release Change Log
- 自动构建包,上传到 Release Assets
2020-07-07 13:03:48 +08:00
Bai
fcd684e2db feat(assets): 资产序列类修改字段名 _name 为 _display 2020-07-07 11:09:43 +08:00
BaiJiangJie
afcb6bd77c Merge pull request #4242 from jumpserver/dev_cloud
feat(node + domain + domain_migrate): NodeModel添加get_or_create_child()方法,修改网域唯一字段 org_id+name
2020-07-06 15:18:13 +08:00
Bai
1c264399bb feat(domain + migrate): 修改网域唯一字段为:org_id + name 2020-07-02 18:51:16 +08:00
Bai
872e2546e9 feat(node): NodeModel添加方法get_or_create_child() 2020-07-02 18:49:17 +08:00
BaiJiangJie
8f347eee4d Merge pull request #4216 from jumpserver/dev_org
feat(Cloud): 组织管理ViewSet添加搜索字段
2020-07-01 14:57:50 +08:00
BaiJiangJie
fa886b90c2 Merge pull request #4211 from jumpserver/dev_command_execute
feat(Command execute): 批量命令执行配置添加默认值True
2020-07-01 14:57:37 +08:00
Bai
caf312c5be feat(Cloud): 组织管理ViewSet添加搜索字段 2020-07-01 14:38:03 +08:00
Bai
ac6168a06c feat(Command execute): 批量命令执行配置添加默认值True 2020-07-01 11:19:57 +08:00
BaiJiangJie
eba9f2325a Merge pull request #4204 from jumpserver/dev_login_password_encrypt
feat(Login password ecrypt): 登录密码加密传输
2020-06-30 18:57:51 +08:00
Bai
b46e772d09 feat(login password ecrypt): 登录密码加密传输 4 2020-06-30 18:35:01 +08:00
Bai
183df82a75 feat(login password ecrypt): 登录密码加密传输 3 2020-06-30 18:14:53 +08:00
Bai
98c91d0f18 feat(login password ecrypt): 登录密码加密传输(添加翻译) 2020-06-30 17:37:16 +08:00
Bai
e17d875206 feat(login password ecrypt): 登录密码加密传输2 2020-06-30 17:23:56 +08:00
Bai
4b1e84ed8a Merge branch 'dev' into dev_login_password_encrypt 2020-06-30 17:13:08 +08:00
Bai
71ee33e3be feat(login password ecrypt): 登录密码加密传输 2020-06-30 17:12:38 +08:00
xinwen
5dd24f5cf9 Merge pull request #4188 from jumpserver/limit-upload-csv
[Update] 限制上传CSV文件的大小
2020-06-28 19:13:53 +08:00
xinwen
2b6e818943 [Update] 限制上传CSV文件的大小 2020-06-28 19:02:20 +08:00
老广
8c4e9720d3 Merge pull request #4183 from jumpserver/fix_template
docs(github): 修改 github issue 模板
2020-06-28 15:22:41 +08:00
ibuler
d43709f584 docs(github): 修改 github issue 模板
更改版本号说明,1.4及之前不再提供支持
2020-06-28 15:17:15 +08:00
BaiJiangJie
89496baae5 Merge pull request #4148 from jumpserver/v2.0
V2.0
2020-06-28 10:47:56 +08:00
BaiJiangJie
ea6d995f55 Merge pull request #4147 from jumpserver/v2.0_bugfix_csv
[Update] 修改csv导出,最大限制条目数从100->10000条
2020-06-28 10:46:31 +08:00
Bai
cf6aba1f38 [Update] 修改csv导出,最大限制条目数从100->10000条 2020-06-28 10:43:47 +08:00
BaiJiangJie
fdcda83c93 Merge pull request #4142 from jumpserver/sftp-log-i18n
Sftp log i18n
2020-06-24 17:30:57 +08:00
xinwen
6e3369c944 [Update] sftp log页面操作翻译 2020-06-24 17:22:53 +08:00
BaiJiangJie
d7e432a851 Merge pull request #4139 from jumpserver/dev_session
[Update] UserProfileAPI 判断是否设置session过期时间,解决前端关闭浏览器session未失效的问题
2020-06-24 16:14:36 +08:00
Bai
c0a153d13a [Update] UserProfileAPI 判断是否设置session过期时间,解决前端关闭浏览器session未失效的问题 2020-06-24 10:52:05 +08:00
老广
2acc1dc875 Merge pull request #4134 from jumpserver/fix-mfa-1.5
Fix mfa 1.5
2020-06-22 19:05:15 +08:00
xinwen
32ed43ba7b Merge branch 'v2.0' into fix-mfa-1.5 2020-06-22 19:04:42 +08:00
xinwen
3e993fd044 [Update] 调整MFA绑定策略 V2 2020-06-22 19:02:14 +08:00
xinwen
005573b53b [Fix] 重新绑定 MFA 的漏洞 2020-06-22 18:03:45 +08:00
老广
e04e31eb30 Merge pull request #4129 from jumpserver/readme
feat: readme 添加docker pull
2020-06-22 12:08:28 +08:00
ibuler
ff747f9e42 feat: readme 添加docker pull 2020-06-22 12:06:42 +08:00
BaiJiangJie
c4bd093fd7 Merge pull request #4126 from jumpserver/v2.0
V2.0
2020-06-20 19:26:12 +08:00
BaiJiangJie
408b2d6dbd Merge pull request #4125 from jumpserver/v2.0_bugfix
v2.0 添加改密计划安全模式配置项
2020-06-20 19:24:17 +08:00
BaiJiangJie
ebc63b9410 Merge pull request #4123 from jumpserver/v1.5_bugfix
[Update] 添加改密计划安全模式配置项
2020-06-20 16:20:53 +08:00
Michael Bai
f1e5c7c2bb 添加改密计划安全模式配置项 2020-06-20 16:18:58 +08:00
Michael Bai
fcb0aefe3c 更改改密计划安全模式配置项名 2020-06-20 15:47:39 +08:00
Bai
29666cc8d3 [Update] 添加改密计划安全模式配置项 2020-06-19 20:41:51 +08:00
xinwen
1d640eccf6 [Fix] /opt/jumpserver/apps/jumpserver/views/index.py redirect(assets:user-asset-list) (#4121) 2020-06-19 18:28:43 +08:00
BaiJiangJie
92fc0ceb16 Merge pull request #4118 from jumpserver/master
Update readme
2020-06-18 15:03:32 +08:00
BaiJiangJie
217ea03c18 Merge pull request #4117 from jumpserver/dev
Dev
2020-06-18 15:02:40 +08:00
BaiJiangJie
923f0ed477 Update README.md 2020-06-18 15:01:08 +08:00
BaiJiangJie
3c6cfaa6cf Update README.md 2020-06-18 14:59:13 +08:00
BaiJiangJie
0bfe255966 Update README.md 2020-06-18 14:58:00 +08:00
BaiJiangJie
af5d531131 Merge pull request #4116 from jumpserver/dev
Dev
2020-06-18 10:56:36 +08:00
Bai
10d58ef424 [Update] Merge from master to dev 2020-06-17 19:30:37 +08:00
Bai
64064cb526 [Update] 注释节点树print 2020-06-17 17:47:45 +08:00
Eric_Lee
46941037dd add SECURITY_COMMAND_EXECUTION (#4114) 2020-06-17 15:03:41 +08:00
xinwen
8ad71b6dd9 [Update] Move LOCAL_DYNAMIC_SETTINGS (#4113) 2020-06-16 18:11:23 +08:00
ibuler
220ccda04d fix: 修改domain创建的assets不是必填的 2020-06-16 17:55:18 +08:00
Eric_Lee
6d30fe797c fix ldap test bug (#4110) 2020-06-16 17:25:57 +08:00
xinwen
3318df1771 [Fix] 日志审计/FTP日志 (#4109) 2020-06-16 16:33:53 +08:00
Eric_Lee
0ccd806eca add system user perm api (#4108) 2020-06-16 16:12:59 +08:00
xinwen
7ebe1c2916 [Update] 优化 dynamic settings (#4107) 2020-06-16 15:54:19 +08:00
ibuler
08904c2a9f Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-06-16 15:30:39 +08:00
ibuler
19e34270d1 feat: gather user添加搜索字段 2020-06-16 15:30:25 +08:00
Bai
afa515d570 Merge branch 'dev' of https://github.com/jumpserver/jumpserver into dev 2020-06-16 15:04:38 +08:00
Bai
bcba408517 [Update] 修改用户source默认local 2020-06-16 15:04:01 +08:00
ibuler
80d94074e7 feat: 修改资产的标签搜索 2020-06-16 14:56:19 +08:00
ibuler
9347405f08 feat: terminal增加搜索 2020-06-16 13:50:21 +08:00
ibuler
da4ad11a69 fix: 修改session command 翻译 2020-06-16 13:39:49 +08:00
ibuler
b81e424e80 fix: 修改翻译 2020-06-16 12:20:16 +08:00
ibuler
1f15937139 feat: 修改翻译,添加settings 2020-06-16 11:04:59 +08:00
Bai
f4fa011714 [Update] 修改mfa校验code无效翻译 2020-06-15 20:31:50 +08:00
xinwen
c5a9a85818 [Update] 完善 作业中心/任务列表 (#4105) 2020-06-15 19:42:36 +08:00
ibuler
e23bfa0f69 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-06-15 17:55:13 +08:00
ibuler
451690fe8b fix: 修改重定向 2020-06-15 17:44:40 +08:00
Eric_Lee
5bea782b9f add assignee field for ticket (#4104) 2020-06-15 17:24:05 +08:00
Bai
f26f7ca1e7 [Update] 修改parsers,处理dict字段值;解决remote-app csv导入时异常 2020-06-15 16:34:51 +08:00
BaiJiangJie
fb9ac54843 Merge pull request #4103 from jumpserver/master_mfa
[Update] 修改MFA应用下载图片
2020-06-15 13:57:35 +08:00
Bai
927ca162d0 [Update] 修改MFA应用下载图片 2020-06-15 13:55:56 +08:00
Bai
583d295fd1 Merge branch 'dev' of https://github.com/jumpserver/jumpserver into dev 2020-06-15 13:50:05 +08:00
Bai
b51af1f7d7 [Update] 修改MFA应用下载图片 2020-06-15 13:49:51 +08:00
xinwen
edcf9921fe [Update] apps/assets/serializers/system_user.py (#4102) 2020-06-15 13:24:52 +08:00
Eric_Lee
eef172d0e2 Merge pull request #4098 from jumpserver/fix-ops-adhoc
[Fix] ops.models.adhoc (#4096)
2020-06-12 12:23:05 +08:00
Eric_Lee
5b407fe8bc Merge pull request #4095 from jumpserver/update-user
[Update] 修改 用户相关 Serializer
2020-06-12 12:22:16 +08:00
Bai
1bb9048910 [Update] 标签序列类assets字段required为False 2020-06-12 11:45:03 +08:00
xinwen
787cdbcadf [Fix] ops.models.adhoc (#4096) 2020-06-12 11:44:29 +08:00
xinwen
b14ca14120 [Fix] ops.models.adhoc (#4096) 2020-06-11 20:30:59 +08:00
ibuler
4b2fd0d0da fix: 修复系统用户过滤权限规则的bug 2020-06-11 19:36:34 +08:00
xinwen
3393f18399 [Update] 修改 用户相关 Serializer 2020-06-11 18:24:56 +08:00
ibuler
7e1a379e47 feat: 修改org返回的数据结构 2020-06-11 18:05:18 +08:00
ibuler
213fdd461b fix: 修改翻译 2020-06-11 14:33:42 +08:00
ibuler
148c7ffb43 fix: 添加注释 2020-06-11 14:10:55 +08:00
ibuler
75be45ce43 feat: 使用新的对称加密方式: aes 2020-06-11 12:10:00 +08:00
ibuler
04eb670ada Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-06-11 11:29:28 +08:00
ibuler
66f3706142 feat: 添加aes fix: 修改时区的bug 2020-06-11 11:28:37 +08:00
xinwen
9ea98bf2b2 [Feature] 添加 会话管理/历史会话/下载 api (#4093) 2020-06-10 17:34:56 +08:00
ibuler
4695f80172 faet: 修改翻译 2020-06-10 17:17:16 +08:00
ibuler
0452d53c3f Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-06-10 16:00:24 +08:00
ibuler
ec30ef1f8b feat: readme添加版本说明 2020-06-10 15:57:41 +08:00
Eric_Lee
1c0ad08d80 fix ldap test i18n msg (#4092) 2020-06-10 15:10:43 +08:00
ibuler
e1ab453780 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-06-10 12:58:43 +08:00
ibuler
1a6597b572 feat: 修改command filter数据结构 2020-06-10 12:58:18 +08:00
xinwen
865522953a [Feature] 作业中心/任务列表/任务详情 最后运行成功或失败的主机 (#4090) 2020-06-09 20:26:23 +08:00
ibuler
4d4a107101 feat: 修改oid获取顺序,添加从cookie中获取 2020-06-09 16:43:07 +08:00
ibuler
82f70cb0dc feat: ticket添加翻译 2020-06-09 16:10:31 +08:00
ibuler
820186c6d0 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-06-09 15:16:01 +08:00
ibuler
4468e2d379 feat: 限制gateway 仅有ssh协议 2020-06-09 15:08:15 +08:00
Eric_Lee
bd802e6a50 add logo urls (#4088) 2020-06-09 14:06:11 +08:00
ibuler
9362c272cb Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-06-09 10:19:07 +08:00
ibuler
ee4534ac4b feat: public setting添加key 2020-06-09 10:17:16 +08:00
xinwen
7ef09a4ca1 [Update] UserSerializer 添加 login_confirm_settings (#4086) 2020-06-08 17:16:30 +08:00
ibuler
31daaed4cd feat: 添加auth confirm 到public setting 2020-06-08 16:48:10 +08:00
ibuler
71202e83f5 feat: 修改用户的api 2020-06-05 20:15:23 +08:00
ibuler
b1640e5592 fix: 修改common resource api的权限,否则auditor无法使用 2020-06-05 14:43:40 +08:00
ibuler
076b7babcb 修改批量命令的api 2020-06-05 14:20:34 +08:00
ibuler
8569910658 feat: command exexution audit log的搜索 2020-06-05 14:07:23 +08:00
xinwen
34c556d375 [Fix] spm (#4082) 2020-06-05 10:42:03 +08:00
ibuler
a43d6ad34d feat: 资产添加admin_user_display 2020-06-04 20:26:42 +08:00
ibuler
ca6825008b Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-06-04 20:00:48 +08:00
ibuler
9c6f118dbd feat: 添加批量命令的relation 2020-06-04 20:00:39 +08:00
Bai
5730e60089 [Update] 修改用户profile序列类 2020-06-04 17:24:31 +08:00
Bai
afc7f3bb9c [Update] 修改用户public_key生成密钥的view 2020-06-04 17:05:36 +08:00
Bai
c411b0a38e Merge branch 'dev' of https://github.com/jumpserver/jumpserver into dev 2020-06-04 17:02:52 +08:00
Bai
403b6fc563 [Update] 修改用户更新Public_key的条件判断 2020-06-04 17:02:43 +08:00
xinwen
55ae8bb5e6 [Fix] 系统设置/邮件设置/测试链接失败 (#4081) 2020-06-04 16:47:43 +08:00
Eric_Lee
dbcf785e42 add flower view (#4078) 2020-06-04 15:10:02 +08:00
ibuler
e6cd126045 feat: 修改api的权限 2020-06-04 14:55:33 +08:00
Bai
420f3c0c4c [Update] 添加celery task log view 2020-06-04 14:30:44 +08:00
Bai
9b2c5cb305 [Update] 修改用户profile序列类3 2020-06-03 21:00:37 +08:00
Bai
907f0068db [Update] 修改用户profile序列类2 2020-06-03 20:21:28 +08:00
Bai
a16b3260ba Merge branch 'dev' of https://github.com/jumpserver/jumpserver into dev 2020-06-03 18:20:43 +08:00
Bai
1845821f6c [Update] 修改用户profile序列类 2020-06-03 18:20:33 +08:00
ibuler
27d906a877 feat: 去掉js i18n catalog 2020-06-03 16:26:10 +08:00
xinwen
431ba36a26 [Fix] 会话管理/命令记录 时间过滤 bug (#4070) 2020-06-03 15:05:55 +08:00
Eric_Lee
229c782157 change PAGE_SIZE_CHOICE to string value (#4069) 2020-06-03 14:06:44 +08:00
ibuler
5bacab7475 fix: 重置密钥到auth中 2020-06-03 12:44:45 +08:00
ibuler
999286a089 fix: 修复用户公钥错误引起的profile bug 2020-06-03 12:32:52 +08:00
ibuler
68ccaf0cb3 feat: 去掉第一次登录的那个导航 2020-06-03 12:26:53 +08:00
ibuler
8d58d58519 feat: 修改profile view 2020-06-03 11:58:16 +08:00
ibuler
8efc0331de feat: 删掉所有view, templates, forms 2020-06-03 11:43:43 +08:00
ibuler
7c479c2479 feat: 修改docs的url 2020-06-03 11:17:00 +08:00
ibuler
96551856a2 [Update] 部分view放到auth中 2020-06-03 11:06:44 +08:00
ibuler
b1f5cc7728 [Update] 禁用view 2020-06-03 10:38:44 +08:00
ibuler
1a84661ca9 feat: 修改filterset_fields => filter_fields,option方法不支持filterset 2020-06-02 20:02:22 +08:00
ibuler
c87b9f203f feat: 修改依赖库版本 2020-06-02 15:51:24 +08:00
老广
9442acfb74 Celery version (#4064)
* [Update] 升级celery版本

* [Update] 修改redis-cache 版本
2020-06-02 15:44:45 +08:00
ibuler
50bea55732 merge: with dev 2020-06-02 15:43:42 +08:00
ibuler
a4ece2b271 feat: audits中添加id字段 2020-06-02 15:41:27 +08:00
xinwen
b460e4abaa [Fix] 日志审计 日期过滤与排序bug (#4063) 2020-06-02 15:40:07 +08:00
BaiJiangJie
087ba9ae95 Merge pull request #4059 from jumpserver/lina
Lina
2020-06-01 14:05:22 +08:00
BaiJiangJie
19926e67e1 Merge pull request #4058 from jumpserver/dev
Dev
2020-06-01 14:02:56 +08:00
BaiJiangJie
af15622319 Merge pull request #4057 from jumpserver/dev_ldap
[Update] 添加LDAP USER_QUERY_FIELD字段值为username,解决数据库因大小敏感导致LDAP用户认证首次成功…
2020-06-01 12:51:30 +08:00
Bai
9850633350 [Update] 添加LDAP USER_QUERY_FIELD字段值为username,解决数据库因大小敏感导致LDAP用户认证首次成功,再次失败的问题;如果不配置此字段,则查询使用小写,创建可能会使用大写,最终导致username重复而创建用户失败; 2020-06-01 12:06:39 +08:00
ibuler
5f2345852d Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-06-01 11:41:55 +08:00
ibuler
ad1c17aa7b feat: 仅支持fields_size=mini,small 2020-06-01 10:10:28 +08:00
xinwen
3a79bfd5f6 [Update] 添加一些 i18n (#4052) 2020-05-29 15:18:25 +08:00
Bai
5ee8519274 [Update] 修改AccessKey序列类 2020-05-29 14:04:50 +08:00
Bai
ff546774e9 Merge branch 'lina' of https://github.com/jumpserver/jumpserver into lina 2020-05-28 20:46:30 +08:00
Bai
1f4fc9b6f0 [Update] 修改API-Key序列类 2020-05-28 20:46:17 +08:00
xinwen
f8142e23cd [Fix] 权限管理-> 资产与数据库 Bug (#4049) 2020-05-28 19:08:48 +08:00
Bai
196f1654ab Merge branch 'lina' of https://github.com/jumpserver/jumpserver into lina 2020-05-28 17:47:27 +08:00
Bai
3b8a24eeb7 [Update] 添加用户profile public-key序列类 2020-05-28 17:47:18 +08:00
xinwen
7dde15cb04 [Feature] 权限管理-> 远程应用 添加 api (#4040)
* [Feature] 权限管理-> 远程应用 添加 api

* [Feature] 添加 RelationMixin
2020-05-28 17:00:42 +08:00
Bai
3e5d949610 [Update] 添加用户profile password序列类 2020-05-28 16:10:28 +08:00
Bai
25c3691f6b Merge branch 'lina' of https://github.com/jumpserver/jumpserver into lina 2020-05-28 15:03:07 +08:00
Bai
f3bc6c0b22 [Update] 修改用户profile序列类 2020-05-28 15:02:53 +08:00
ibuler
caf0d85939 [feat] 修改remote app, database app的过滤参数 2020-05-28 14:47:30 +08:00
ibuler
a463f632e8 [Update] 优化重定向 2020-05-27 20:33:09 +08:00
ibuler
a0e6d09770 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-27 19:51:45 +08:00
BaiJiangJie
54623a5b06 Merge pull request #4047 from jumpserver/lina_dev
Lina dev
2020-05-27 18:46:48 +08:00
Bai
7afff5e392 [Update] merge from dev to lina 2020-05-27 18:44:12 +08:00
ibuler
9a5fee5a4c Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-27 18:03:14 +08:00
ibuler
a840e611cd [Update] 修改core 的base url 2020-05-27 18:02:18 +08:00
Bai
566419cac4 Merge branch 'lina' of https://github.com/jumpserver/jumpserver into lina 2020-05-27 17:27:38 +08:00
Bai
7b362bfc76 [Update] 用户序列类添加mfa相关字段 2020-05-27 17:27:28 +08:00
ibuler
f528dd4888 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-26 19:00:00 +08:00
ibuler
3c95c6fe11 [Feat] 添加失效用户权限的api 2020-05-26 18:56:03 +08:00
BaiJiangJie
0b17d55f30 Merge pull request #4041 from jumpserver/dev_oidc
[Update] 修改依赖版本号 jumpserver-django-oidc-rp==0.3.7.5
2020-05-26 14:23:52 +08:00
Bai
3861943518 [Update] 修改依赖版本号 jumpserver-django-oidc-rp==0.3.7.5 2020-05-26 14:23:04 +08:00
老广
71a72dd957 Merge pull request #4033 from jumpserver/update-i18n
[Update] i18n
2020-05-25 01:53:02 -05:00
老广
78ac1968dd Merge pull request #4039 from jumpserver/asset_permission-add-field
[Update] perms.serializers.asset_permission.AssetPermissionSerializer…
2020-05-25 01:52:35 -05:00
xinwen
93453cc8c3 [Update] perms.serializers.asset_permission.AssetPermissionSerializer 添加字段 2020-05-25 14:50:07 +08:00
xinwen
11527b9033 [Update] i18n 2020-05-22 18:18:40 +08:00
ibuler
2ff2266417 [Update] 修改 SerializerMixin 还原之前的更改 2020-05-21 20:35:44 +08:00
老广
1ef1bea703 Merge pull request #4029 from jumpserver/dev
修改了readme,增加安全建议
2020-05-21 07:06:49 -05:00
ibuler
6804f23b51 [Update] 修改readme 2020-05-21 20:01:53 +08:00
ibuler
ea7e1f19b2 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-05-21 19:55:36 +08:00
ibuler
3320e6105c [Update] 删掉没用的内容 2020-05-21 19:00:47 +08:00
老广
072e74ce49 Merge pull request #4027 from jumpserver/update-org-user
[Update] org retrieve api
2020-05-21 03:15:05 -05:00
xinwen
492b1c4311 [Update] org retrieve api 2020-05-21 16:09:42 +08:00
老广
0babada459 Merge pull request #4025 from jumpserver/update-org-user-add-id
[Update] orgs.serializers.OrgReadSerializer add `id`
2020-05-21 02:43:35 -05:00
xinwen
7b0993959e [Update] orgs.serializers.OrgReadSerializer add id 2020-05-21 15:40:41 +08:00
ibuler
701582fe38 [Update] 修改license的判断方法 2020-05-21 14:47:00 +08:00
BaiJiangJie
d289960ff2 Merge pull request #3998 from jumpserver/dev
Dev
2020-05-21 14:00:37 +08:00
BaiJiangJie
6adf37a30d Merge pull request #4022 from jumpserver/dev_tran
[Update] 修改翻译信息
2020-05-20 19:43:43 +08:00
ibuler
b371676813 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-20 19:35:48 +08:00
Bai
2e0eab9289 [Update] 修改翻译信息 2020-05-20 19:35:35 +08:00
ibuler
0cac8d66b3 [Update] 修改index api 2020-05-20 19:35:33 +08:00
BaiJiangJie
2053e9210e Merge pull request #4021 from jumpserver/dev_asset
[Bugfix] 修复只显示当前节点下资产不生效的问题
2020-05-20 18:21:59 +08:00
Bai
7c44f74068 [Bugfix] 修复只显示当前节点下资产不生效的问题 2020-05-20 18:20:01 +08:00
老广
3e0f5af848 Merge pull request #4019 from jumpserver/update-some-i18n
[Update] 一些本地化
2020-05-20 05:17:12 -05:00
xinwen
245d28b03d [Update] 一些本地化 2020-05-20 17:45:50 +08:00
Bai
75f4f6d0a2 [Update] 资产授权序列类is_expired, is_valid设置为read_only 2020-05-19 20:50:33 +08:00
Bai
f9e167cb0e Merge branch 'lina' of https://github.com/jumpserver/jumpserver into lina 2020-05-19 20:36:41 +08:00
Bai
f224e49de7 [Update] 去掉资产授权序列类中不存在的字段 2020-05-19 20:36:17 +08:00
BaiJiangJie
4ec4869896 Merge pull request #4012 from jumpserver/dev_permsasset
[Update] 授权资产树返回org_id字段值
2020-05-19 19:37:13 +08:00
Bai
63ff868553 [Update] 授权资产树返回org_id字段值 2020-05-19 19:36:19 +08:00
BaiJiangJie
234130091b Merge pull request #4011 from jumpserver/dev_conf
[Update] 修改配置文件demo
2020-05-19 18:38:47 +08:00
Bai
216e0f28b9 [Update] 修改配置文件demo 2020-05-19 18:36:56 +08:00
BaiJiangJie
f3483484d7 Merge pull request #4010 from jumpserver/dev_openid
Dev openid
2020-05-19 18:35:30 +08:00
Bai
d704a35ead [Update] 修改依赖版本号 jumpserver-django-oidc-rp==0.3.7.4 2020-05-19 18:33:33 +08:00
Bai
b97deec1de [Update] openid 继续使用配置项 base_site_url 2020-05-19 18:24:26 +08:00
BaiJiangJie
5b6488e1b2 Merge pull request #4008 from jumpserver/dev_bugfix
Dev bugfix
2020-05-19 15:31:10 +08:00
Bai
be3fdac8a9 [Update] 修复API-key不能删除的问题 2020-05-19 15:28:31 +08:00
Bai
96afd82341 [Update] 修复任务列表,执行历史中stat汇总数据显示问题 2020-05-19 15:15:17 +08:00
Bai
728e4b7edd [Update] 修复授权模块的信号处理监听不到的问题 2020-05-19 11:47:49 +08:00
Bai
73c3de97b8 [Update] 取消用户资产页面中,资产详情系统用户值为undefine的问题 2020-05-18 18:14:19 +08:00
Bai
e98626988b [Update] 解决开启OpenID,为用户强制启用MFA导致,登录时报错的问题 2020-05-18 18:02:37 +08:00
Bai
01a52812f0 [Update] 修改用户MFA禁用/更新的View 2020-05-18 15:49:53 +08:00
Bai
041d99f0be [Update] 更新remote-app用户/用户组时自动刷新页面 2020-05-18 15:40:54 +08:00
Bai
75edc26a10 [Update] 修改翻译,禁用资产提示不支持ansible的错误提示 2020-05-18 15:25:24 +08:00
Bai
2f7b169405 [Update] 修改授权用户/用户组页面删除用户组失败的问题 2020-05-18 15:24:55 +08:00
ibuler
76ef9b292b [Update] 修改public api 2020-05-18 14:55:16 +08:00
ibuler
1540cbdcaa [Update] 修改csv render 2020-05-18 11:52:50 +08:00
BaiJiangJie
eefe0709f8 Merge pull request #4007 from maninhill/patch-1
Update README.md
2020-05-17 07:44:37 +08:00
maninhill
5ae6e81a1d Update README.md 2020-05-17 00:02:35 +08:00
BaiJiangJie
8a62488cb9 Merge pull request #4003 from jumpserver/dev_v
[Update] 修改版本号1.5.9
2020-05-14 16:15:17 +08:00
Bai
e951b64b0a [Update] 修改版本号1.5.9 2020-05-14 16:14:17 +08:00
ibuler
5d129fd0da Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-14 14:51:05 +08:00
ibuler
b529127461 [Update] 修改user role 2020-05-14 14:49:54 +08:00
BaiJiangJie
2e40b9607e Merge pull request #4002 from jumpserver/dev_bai
[Update] 用户资产详情Modal添加comment
2020-05-14 14:28:24 +08:00
Bai
d878089ebd [Update] 用户资产详情Modal添加comment 2020-05-14 14:26:00 +08:00
BaiJiangJie
9d32285446 Merge pull request #3997 from jumpserver/dev_bai
[Update] 修改向导文案
2020-05-14 11:01:35 +08:00
Bai
4658a4c90f [Update] 修改向导文案 2020-05-14 11:00:24 +08:00
Bai
d06ea2944e [Update] 修改Dashboard API 2020-05-14 10:53:30 +08:00
wojiushixiaobai
d50ea83f40 [Fix]修改文档链接 2020-05-13 15:21:04 +08:00
ibuler
154aad1e22 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-13 11:06:24 +08:00
ibuler
17163dd909 [Update] 用户Profile添加在当前组织的角色 2020-05-13 11:05:58 +08:00
BaiJiangJie
b789a8bb05 Merge pull request #3994 from jumpserver/lina_assetuser
[Update] 修复AssetUserViewSet 使用Option方法时error
2020-05-12 20:32:58 +08:00
Bai
9341ce9f84 [Update] 修复AssetUserViewSet 使用Option方法时error 2020-05-12 20:31:32 +08:00
ibuler
4d0f7d0254 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-05-12 17:57:51 +08:00
ibuler
195cbbbe42 [Update] 修改profile serialzier 2020-05-12 17:57:35 +08:00
xinwen
6e5e340a25 Merge pull request #3993 from jumpserver/update-assets-filter
[Update] Asset filter 添加 platform__base 字段
2020-05-12 17:26:59 +08:00
xinwen
eb74d13059 [Update] Asset filter 添加 platform__base 字段 2020-05-12 17:24:51 +08:00
老广
16f916c40a Merge pull request #3992 from jumpserver/update-assets-filter
Update assets filter
2020-05-12 04:11:49 -05:00
xinwen
4dd6d4498b [Update] Asset filter 添加 platform__name 字段 2020-05-12 17:09:36 +08:00
ibuler
dd5bf546df [Update] 修改serialzier_class 2020-05-12 15:37:37 +08:00
ibuler
d6debde566 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-11 19:28:24 +08:00
ibuler
efc66cc7ee [Update] 默认关闭debug 2020-05-11 19:28:02 +08:00
BaiJiangJie
b310731ba7 Merge pull request #3990 from jumpserver/lina_dev
Lina dev
2020-05-11 17:45:51 +08:00
Bai
4bd2681bf0 [Update] Merge from dev to lina 2020-05-11 17:43:48 +08:00
BaiJiangJie
38e09753f4 Merge pull request #3989 from jumpserver/dev_master
Dev master
2020-05-11 17:38:46 +08:00
Bai
98e3adbb11 [Update] Merge from master to dev 2020-05-11 17:38:01 +08:00
BaiJiangJie
c700b101c1 Merge pull request #3988 from jumpserver/master_otp
[Bugfix] 修复用户页面更新MFA时解除管理员强制启用的Bug
2020-05-11 16:58:40 +08:00
Bai
7b3647e78a [Bugfix] 修复用户页面更新MFA时解除管理员强制启用的Bug 2020-05-11 16:56:52 +08:00
BaiJiangJie
f4f042c407 Merge pull request #3987 from jumpserver/master_index
[Update] 仪表盘缓存key添加组织id
2020-05-11 15:20:00 +08:00
Bai
0a8eeca629 [Update] 仪表盘缓存key添加组织id 2020-05-11 15:12:42 +08:00
BaiJiangJie
fdd55511a6 Merge pull request #3986 from jumpserver/lina_dev
Lina dev
2020-05-11 14:04:52 +08:00
Bai
0cff6ab29b [Update] Merge fromo dev to lina 2020-05-11 14:03:24 +08:00
ibuler
cda677a30f [update] 修改remote apps的serializer 2020-05-11 12:35:33 +08:00
ibuler
5571651c02 [Update] 升级requirements 2020-05-09 16:13:06 +08:00
ibuler
2680396680 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-09 16:08:32 +08:00
ibuler
227f97c2f5 [Update] 修改remote apps 字段 2020-05-09 16:08:09 +08:00
老广
ad3231c8a3 Merge pull request #3982 from jumpserver/update-ops-migrate
[Update] 重建 ops 0018 迁移脚本
2020-05-09 01:54:37 -05:00
ibuler
e39d8dce3c [Update] 修改fields 2020-05-09 14:52:44 +08:00
ibuler
0bdc425c55 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-05-09 14:51:47 +08:00
ibuler
0a7f63cc5e [Update] 修改remote app api 2020-05-09 14:51:19 +08:00
xinwen
c6e0e9a79a [Update] 重建 ops 0018 迁移脚本 2020-05-09 14:50:22 +08:00
BaiJiangJie
4cebfc7f6a [Update] 修改翻译 (#3981)
* [Update] 修改翻译

* [Update] 修改翻译2
2020-05-09 13:29:39 +08:00
老广
7fde392774 Merge pull request #3980 from jumpserver/update-audits-verbose
[Update] audits 模块为一些 models 字段添加 verbose 信息
2020-05-08 22:40:34 -05:00
xinwen
3ee051303a [Update] audits 模块为一些 models 字段添加 verbose 信息 2020-05-09 11:29:25 +08:00
老广
9fa31be4bf Merge pull request #3976 from jumpserver/add-audits-apis
[Add] audits apis
2020-05-08 08:04:14 -05:00
老广
ae2e4049db Merge pull request #3979 from jumpserver/lina_setting_dict_field
AUTH_LDAP_USER_ATTR_MAP to Dict field
2020-05-08 08:02:04 -05:00
Eric
48b71bb11b AUTH_LDAP_USER_ATTR_MAP to Dict field 2020-05-08 20:58:13 +08:00
BaiJiangJie
7e4edc3c63 Merge pull request #3978 from jumpserver/dev_index
[Update] 修改dashboard中使用的变量名
2020-05-08 20:03:08 +08:00
Bai
11b3c57c92 [Update] 修改dashboard中使用的变量名 2020-05-08 20:02:00 +08:00
xinwen
e339ed1fb3 [Add] audits apis 2020-05-08 17:59:58 +08:00
BaiJiangJie
2d48c8028b Merge pull request #3975 from jumpserver/dev_master
Dev master
2020-05-08 16:42:32 +08:00
Bai
185c53d311 [Update] Merge from master to dev 2020-05-08 16:40:07 +08:00
BaiJiangJie
2f030c02ec Merge pull request #3973 from jumpserver/master_org
[Update] 优化仪表盘、组织详情页
2020-05-08 16:27:49 +08:00
老广
f4457ff1e2 Merge pull request #3972 from jumpserver/PERM_CACHE_CONFIG
Bugfix Perm cache config
2020-05-08 03:04:33 -05:00
ibuler
c6ed6d8acb [Update] 去掉debug信息 2020-05-08 15:58:00 +08:00
ibuler
331cfe2aed [Bugfix] 修复节点数量缓存显示不对的bug 2020-05-08 15:53:58 +08:00
Bai
e48dbabef2 [Update] 修改翻译 2020-05-08 15:50:01 +08:00
Bai
181973f235 [Update] 优化仪表盘页面加载 2020-05-08 15:41:56 +08:00
ibuler
440a2ad241 Merge branch 'PERM_CACHE_CONFIG' into dev 2020-05-08 14:25:36 +08:00
ibuler
1936a6d5ee [Update] 去掉perms cache enable settings 2020-05-08 14:25:28 +08:00
老广
4517a92b2b Merge pull request #3971 from jumpserver/add-ftp-log-api
[Add] ftp-logs api
2020-05-08 00:52:03 -05:00
ibuler
44a2a51f59 Merge branch 'PERM_CACHE_CONFIG' into dev 2020-05-08 13:13:47 +08:00
ibuler
2d4498578a [Update] 修改授权缓存配置的默认值 2020-05-08 13:13:38 +08:00
xinwen
ac902501ec [Add] ftp-logs api 2020-05-08 12:46:18 +08:00
老广
363b5d04d9 Merge pull request #3969 from jumpserver/update-login-logs
[Update] login-logs api 添加 `mfa_display`
2020-05-07 22:23:37 -05:00
xinwen
dec89ae5ee [Update] login-logs api 添加 mfa_display 2020-05-08 10:08:57 +08:00
老广
5d37269a6c Merge pull request #3967 from jumpserver/lina_status_code
[Update] Reponse status code from 401 to 400
2020-05-07 04:03:34 -05:00
Eric
9a39ccd37d [Update] Reponse status code from 401 to 400 2020-05-07 16:57:57 +08:00
BaiJiangJie
5896ea9c63 Merge pull request #3963 from jumpserver/dev_oidc
[Update] 修改依赖版本jumpserver-django-oidc-rp==0.3.7.3
2020-05-06 21:06:27 +08:00
Bai
8323de1c07 [Update] 修改依赖版本jumpserver-django-oidc-rp==0.3.7.3 2020-05-06 21:05:23 +08:00
ibuler
8c0bf0b71b [Update] Login log 添加display field 2020-05-06 19:35:19 +08:00
老广
5812c50a33 Merge pull request #3960 from jumpserver/lina_setting
[Update] save settings
2020-05-06 04:05:51 -05:00
Eric
7b339df430 [Update] save settings 2020-05-06 16:36:36 +08:00
Bai
aec78dc3c7 [Update] 添加组织详情->组织用户tab页,解决组织详情页面加载超时问题 2020-05-06 15:31:08 +08:00
ibuler
6bb13a26f5 [Update] 修改用户serializer 2020-04-30 16:58:08 +08:00
ibuler
b92137afd9 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-04-30 16:53:21 +08:00
老广
962763dc7b Merge pull request #3954 from xuxinwen/feature-audits-apis
[Feature] 添加 login-logs API
2020-04-30 03:52:57 -05:00
xuxinwen
f4eca83a49 [feature] 添加 login-logs API 2020-04-30 16:40:55 +08:00
老广
02135ea04f Merge pull request #3948 from jumpserver/settings_api
[Update] Add settings api
2020-04-29 18:25:10 +08:00
Eric
79eb838250 [Update] setting fields automatically generated by serializer 2020-04-29 18:10:42 +08:00
Eric
82710294f4 Merge branch 'lina' of https://github.com/jumpserver/jumpserver into settings_api 2020-04-29 17:09:50 +08:00
Eric
2d18acf6f7 [Update] settings api 2020-04-29 17:04:58 +08:00
BaiJiangJie
a860bed34f [Update] 修改config_example配置(openid) (#3951)
* [Update] 修改config_example配置(openid)

* [Update] 修改config_example配置(openid)2
2020-04-29 16:57:10 +08:00
ibuler
f8c323cf5c [Update] 优化user group serializer 2020-04-29 16:01:14 +08:00
ibuler
b6f5b335bd Merge branch 'api_perf' into lina 2020-04-29 15:47:46 +08:00
Eric
f451f8a979 Merge branch 'lina' of https://github.com/jumpserver/jumpserver into settings_api 2020-04-29 14:33:22 +08:00
ibuler
5c4dfabc48 [Update] 修改settings 2020-04-29 14:32:51 +08:00
BaiJiangJie
72ccaf7b1c Merge pull request #3949 from jumpserver/dev_openid
Dev openid
2020-04-29 14:25:32 +08:00
Bai
e4b788a012 [Update] 修改依赖版本 jumpserver-dajngo-oidc-rp (0.3.7.2) 2020-04-29 14:07:54 +08:00
Bai
6eaba4e2fb [Update] openid配置分块 2020-04-29 14:03:48 +08:00
ibuler
0c0c0e6d6f Merge branch 'dev' into lina 2020-04-29 13:00:47 +08:00
Eric
20cf7c7c52 [Update] Add settings api 2020-04-29 11:09:35 +08:00
ibuler
230d6137f3 Merge branch 'lina' of github.com:jumpserver/jumpserver into lina 2020-04-29 10:21:06 +08:00
ibuler
aa9533eb5b [Update] Groups users字段可以显示 2020-04-29 10:19:25 +08:00
Bai
23f9454e5d [Update] 修改Url name (oidc => openi) 2020-04-29 01:12:00 +08:00
Bai
9eee79f7d4 [Update] 调整openid backend顺序;openid 用户创建/更新添加日志输出 2020-04-29 00:43:54 +08:00
Bai
c0089a98f4 [Update] 修改openid信号名称 2020-04-28 22:29:56 +08:00
Bai
87242c13a1 [Update] 修改信号监听kwargs 2020-04-28 21:06:13 +08:00
Bai
184432a2a6 [Update] 更新OpenID的配置项以及对应的信号监听 2020-04-28 21:00:22 +08:00
BaiJiangJie
555861c319 Merge pull request #3943 from jumpserver/dev_conf
[Update] 修改config_example(openid)
2020-04-27 12:50:03 +08:00
Bai
a505995f49 [Update] 修改config_example(openid) 2020-04-27 11:36:11 +08:00
BaiJiangJie
b477b649f5 Merge pull request #3942 from jumpserver/dev_docker
[Update] 修改Dockerfile pypi 镜像源(阿里=>清华)
2020-04-26 22:41:49 +08:00
Michael Bai
6e18383531 [Update] 修改Dockerfile pypi 镜像源(阿里=>清华) 2020-04-26 22:40:56 +08:00
BaiJiangJie
7833ff6671 Dev oidc (#3941)
* [Update] oidc_rp获取token添加headers base64编码

* [Update] 移除对oidc_rp的支持

* [Update] 移除对oidc_rp的支持2

* [Update] 修改OpenID配置(添加新配置项,并对旧配置项做兼容)

* [Update] 移除所有与Keycloak相关的模块

* [Update] 添加jumpserver-django-oidc-rp的使用

* [Update] 更新登录重定向地址(oidc)

* [Update] oidc添加一些配置参数;处理用户登录/创建/更新等信号

* [Update] 修改退出登录逻辑

* [Update] 添加oidc user登录成功的信号机制

* [Update] 修改mfa认证choices内容 (otp => code)

* [Update] 添加OpenID backend password 认证失败信号机制;修改引入common包问题

* [Update] 用户Token/Auth API 校验用户时,传入request参数(解决登录成功日志记录的问题)

* [Update] 添加依赖jumpserver-django-oidc-rp==0.3.7.1

* [Update] oidc认证模块说明
2020-04-26 20:36:17 +08:00
BaiJiangJie
5d433456d4 Merge pull request #3937 from jumpserver/dev_index
[Update] 更新仪表盘数据显示问题
2020-04-24 11:30:30 +08:00
Bai
fc5ec3f21c [Update] 更新仪表盘数据显示问题 2020-04-24 11:29:01 +08:00
ibuler
efb5d4135a [Update] 优化api字段显示 2020-04-23 11:14:02 +08:00
ibuler
5f2c9c3801 [Update] 添加 authentication backend header 2020-04-22 15:13:04 +08:00
BaiJiangJie
56f38e57bc Merge pull request #3932 from jumpserver/dev_oidc
[Update] 添加oidc-op配置信息
2020-04-22 11:11:47 +08:00
Bai
586c04cba6 [Update] 添加oidc-op配置信息 2020-04-22 11:09:13 +08:00
Bai
306605915c [Update] 添加依赖 django-oidc-rp==0.3.4 2020-04-22 00:31:59 +08:00
BaiJiangJie
272701a8fd Dev oidc (#3930)
* [Update] 添加django-oidc-rp支持

* [Update] 添加django-oidc-rp支持2

* [Update] 调试django-oidc-rp对keycloak的支持

* [Update] 调试django-oidc-rp对keycloak的支持2

* [Update] 修改oidc_rp创建用户/更新用户的功能

* [Update] oidc_rp添加支持password认证

* [Update] 重写oidc_rp end session view

* [Update] 优化 oidc_rp view backend url 等引用关系
2020-04-22 00:22:24 +08:00
BaiJiangJie
9febe488b5 Merge pull request #3929 from jumpserver/lina_terminal
[Update] add terminal model fileds
2020-04-21 22:23:53 +08:00
Eric
c8c6ba1c19 [Update] add terminal model fileds 2020-04-21 17:37:29 +08:00
老广
2df7bd8510 Merge pull request #3926 from jumpserver/fix_otp_error
Fix otp error
2020-04-20 17:00:54 +08:00
老广
c16a986c4b Merge pull request #3925 from jumpserver/bugfix_many_sqlquery_perm_asset
[Bugfix] 修复查询授权时额外查询platform的问题
2020-04-20 16:58:14 +08:00
ibuler
44db0e8a5d [Bugfix] 修复查询授权时额外查询platform的问题 2020-04-20 16:56:47 +08:00
ibuler
91c994924f [Update] 修改报错文案 2020-04-20 10:44:45 +08:00
ibuler
61407331bc [Bugfix] 修复otp登录时导致的500 2020-04-20 10:37:07 +08:00
BaiJiangJie
1b1a686b96 Merge pull request #3922 from jumpserver/dev
Dev
2020-04-18 23:19:11 +08:00
BaiJiangJie
cc30a20b7c Merge pull request #3921 from jumpserver/dev
Dev
2020-04-18 23:15:42 +08:00
BaiJiangJie
0379e5160c [Bugfix] 修复真实组织下,新建的用户角色显示不稳定的问题2 (#3919)
* [Bugfix] 修复真实组织下,新建的用户角色显示不稳定的问题2

* [Bugfix] 修复真实组织下,新建的用户角色显示不稳定的问题3

* [Bugfix] 修复真实组织下,新建的用户角色显示不稳定的问题4
2020-04-18 23:14:25 +08:00
BaiJiangJie
386ce629ac Merge pull request #3918 from jumpserver/fix_connectivity
[Update] 修复资产页面可连接性
2020-04-18 10:42:55 +08:00
BaiJiangJie
5677bf0995 Merge pull request #3915 from jumpserver/dev
Dev
2020-04-18 01:27:09 +08:00
BaiJiangJie
c17dc26f8c Merge pull request #3916 from jumpserver/dev_org
[Bugfix] 修复真实组织下,新建的用户角色显示不稳定的问题
2020-04-18 01:24:21 +08:00
Bai
b4cc2bbff9 [Bugfix] 修复真实组织下,新建的用户角色显示不稳定的问题 2020-04-18 01:22:48 +08:00
BaiJiangJie
e74289b223 [Update] 修改用户密码重置页面错误信息提示2 (#3914) 2020-04-17 23:41:50 +08:00
ibuler
98afa032a7 [Update] 修复资产页面可连接性 2020-04-17 16:32:38 +08:00
BaiJiangJie
0d3fab216b Merge pull request #3910 from jumpserver/dev_user
[Update] 修改用户密码重置页面错误信息提示
2020-04-17 11:27:26 +08:00
Bai
081f4b1c0a [Update] 修改用户密码重置页面错误信息提示 2020-04-17 11:26:29 +08:00
BaiJiangJie
e9fe5b3004 Merge pull request #3908 from jumpserver/dev
Dev
2020-04-16 18:30:54 +08:00
BaiJiangJie
1de2923dd3 Merge pull request #3907 from jumpserver/dev_user
[Update] 修改忘记密码页面的错误信息提示
2020-04-16 18:30:07 +08:00
Bai
6890d549ed [Update] 修改忘记密码页面的错误信息提示 2020-04-16 18:29:02 +08:00
老广
9426f58a6b Merge pull request #3904 from jumpserver/dev
[Bugfix] 修复显示未授权资产的bug
2020-04-15 23:17:08 -05:00
ibuler
6a2a0013a8 [Update] 去掉debug 2020-04-16 12:12:24 +08:00
ibuler
864a4c0485 [Bugfix] 修复显示未授权资产的bug 2020-04-16 12:08:52 +08:00
BaiJiangJie
8fa08d7ea3 Merge pull request #3902 from jumpserver/dev
Dev
2020-04-16 11:31:38 +08:00
ibuler
3648a1458b [Update] 修改command options get view filter 2020-04-16 11:27:46 +08:00
BaiJiangJie
5001f48982 Merge pull request #3899 from jumpserver/dev
Dev
2020-04-14 19:46:36 +08:00
BaiJiangJie
93bf15adc9 Merge pull request #3898 from jumpserver/dev_email
[Update] 修改测试邮件后,配置获取不稳定的Bug(显示给settings赋值导致)
2020-04-14 19:45:06 +08:00
Bai
83eb8f77d1 [Update] 修改测试邮件后,配置获取不稳定的Bug(显示给settings赋值导致) 2020-04-14 19:40:56 +08:00
BaiJiangJie
4eaaa2462b Merge pull request #3897 from jumpserver/dev
Dev
2020-04-14 17:53:52 +08:00
BaiJiangJie
0910236f12 Merge pull request #3896 from jumpserver/dev_bai
Dev bai
2020-04-14 17:52:49 +08:00
Bai
77149bf36c [Update] 修改监控多个会话时,总是覆盖同一个tab页 2020-04-14 17:50:47 +08:00
Bai
6337d0d0a1 [Update] 修改会话can_join为property 2020-04-14 16:12:24 +08:00
BaiJiangJie
093e3924a2 Merge pull request #3894 from jumpserver/dev
Dev
2020-04-14 16:00:08 +08:00
BaiJiangJie
e143408e57 Merge pull request #3893 from jumpserver/dev_req
[Update] 修改依赖版本jms-storage=0.0.29
2020-04-14 15:58:24 +08:00
Bai
dfdf33bbb5 [Update] 修改依赖版本jms-storage=0.0.29 2020-04-14 15:54:59 +08:00
BaiJiangJie
8fd5e6521f Merge pull request #3892 from jumpserver/dev_bai
Dev bai
2020-04-14 13:20:50 +08:00
BaiJiangJie
6a2b9cd9bf Merge pull request #3891 from jumpserver/dev_bai
[Update] 修复系统设置-终端设置-资产排序设置不生效的Bug
2020-04-14 13:19:57 +08:00
Bai
55fa5800b1 [Update] 修复系统设置-终端设置-资产排序设置不生效的Bug 2020-04-14 13:18:33 +08:00
BaiJiangJie
6cdba2e8d2 Merge pull request #3890 from jumpserver/dev_bai
Dev bai
2020-04-14 12:56:20 +08:00
BaiJiangJie
043aa08f23 Merge pull request #3889 from jumpserver/dev_bai
Dev bai
2020-04-14 12:55:35 +08:00
Bai
63519ec076 [Update] 修改命令记录/操作/改密日志搜索字段没清空的问题 2020-04-14 12:51:13 +08:00
Bai
48fa26a3bc [Update] 修改操作日志搜索字段没清空的问题 2020-04-14 11:03:12 +08:00
Bai
d969563e43 [Update] 修复自定义平台列表在详情页删除失败的bug 2020-04-14 10:42:40 +08:00
BaiJiangJie
287236a447 Merge pull request #3885 from jumpserver/dev_trans
[Update] 更新翻译
2020-04-13 19:23:38 +08:00
Bai
4fb4a9f622 [Update] 更新翻译 2020-04-13 19:21:53 +08:00
BaiJiangJie
4dcd4749c3 Merge pull request #3884 from jumpserver/dev
Dev
2020-04-13 18:24:54 +08:00
BaiJiangJie
508d1c2c1f Merge pull request #3883 from jumpserver/master_bai
Master bai
2020-04-13 18:23:43 +08:00
BaiJiangJie
600ea42633 Merge pull request #3882 from jumpserver/master_bai
[Update] 修改OpenID用户获取username的问题
2020-04-13 18:22:23 +08:00
Bai
41cbd3e0f6 [Update] 修改OpenID用户获取username的问题 2020-04-13 18:21:49 +08:00
BaiJiangJie
e593ccb01c Merge pull request #3879 from jumpserver/dev_bai
Dev bai
2020-04-13 14:22:31 +08:00
Bai
d5e1ca7908 [Update] 添加翻译 2020-04-13 14:19:42 +08:00
Bai
06fb502a1d [Update] 修改文案: 加入 -> 监控 2020-04-13 14:17:08 +08:00
Bai
3f6d7637c3 [Update] 更新用户添加CAS来源选项 2020-04-13 13:40:13 +08:00
ibuler
0d2b4d7ca3 [Update] 添加ids filter 2020-04-13 10:40:13 +08:00
BaiJiangJie
42c5c02709 Merge pull request #3871 from jumpserver/lina_dev
Lina dev
2020-04-10 14:50:05 +08:00
Bai
d1d73da322 [Update] Merge from dev 2020-04-10 14:46:35 +08:00
BaiJiangJie
88fcf8dbd7 Merge pull request #3869 from jumpserver/lina_user
[Update] 修改用户Profile序列类返回的admin_orgs
2020-04-10 12:49:57 +08:00
Bai
396bc9b6ae [Update] 修改用户ViewSet序列类返回的admin_orgs(解决组织管理员登录的Bug) 2020-04-10 12:47:16 +08:00
BaiJiangJie
27ffed1be9 Merge pull request #3868 from jumpserver/dev_user
[Update] 修改用户ViewSet序列类返回的admin_orgs(解决组织管理员登录的Bug)
2020-04-10 12:40:12 +08:00
Bai
af9d42695f [Update] 修改用户ViewSet序列类返回的admin_orgs(解决组织管理员登录的Bug) 2020-04-10 12:38:05 +08:00
BaiJiangJie
422b4424fe Merge pull request #3867 from jumpserver/dev_ab
[Update] 修复AuthBook删除失败的Bug
2020-04-09 23:40:18 +08:00
Michael Bai
dc172e1ef0 [Update] 修复AuthBook删除失败的Bug 2020-04-09 23:39:17 +08:00
ibuler
cd7946f3f0 [Update] 修改一些bug 2020-04-09 18:58:22 +08:00
BaiJiangJie
4994a4a387 Dev bai (#3865)
* [Update] 更新config-example(CAS)

* [Update] 更新config-example(CAS)2

* [Update] 更新config-example(CAS)3
2020-04-09 13:39:11 +08:00
BaiJiangJie
e26eba9919 Merge pull request #3864 from jumpserver/1.5.8
1.5.8
2020-04-09 11:36:38 +08:00
Bai
44cd82f3e1 [Update] 修改翻译 2020-04-09 10:59:00 +08:00
Bai
adf14b0f2e [Update] 修改版本号 2020-04-09 10:46:24 +08:00
Bai
f5a7c4131d [Update] 修改校验join session的url-name 2020-04-09 10:43:25 +08:00
ibuler
e7031d0ac1 [Update] 修改serailizer mixin 2020-04-09 10:33:20 +08:00
Bai
ef27188f86 [Update] 修改Bug: CommandViewSet的Option方法Error 2020-04-08 18:08:22 +08:00
BaiJiangJie
a7734812fc Merge pull request #3860 from jumpserver/1.5.8_bai
[Update] 命令记录导出: 只导出满足搜索条件的数据
2020-04-08 01:35:16 +08:00
Michael Bai
fb62fbde6c [Update] 命令记录导出: 只导出满足搜索条件的数据 2020-04-08 01:34:10 +08:00
BaiJiangJie
521f4ea86b Merge pull request #3857 from jumpserver/1.5.8_bai
1.5.8 bai
2020-04-07 12:32:54 +08:00
Bai
e9827c8b25 [Update] 添加会话加入校验API 2020-04-07 12:26:47 +08:00
Bai
29b099efc0 [Update] 添加加入会话按钮 2020-04-02 19:45:56 +08:00
Bai
e9fc56c056 [Update] 修改日志日期显示问题 2020-04-02 16:02:55 +08:00
Bai
e9103ee608 [Update] 对自定义MetaDict字段值进行strip 2020-04-02 15:14:30 +08:00
ibuler
f8dae2a3c9 [Update] 时区允许设置 2020-04-01 17:27:32 +08:00
BaiJiangJie
52c6244b2b Merge pull request #3842 from jumpserver/dev
Dev
2020-03-28 21:36:54 +08:00
BaiJiangJie
7977294c5c Merge pull request #3841 from jumpserver/dev
Dev
2020-03-28 21:36:09 +08:00
BaiJiangJie
e1331084e5 Merge pull request #3840 from jumpserver/dev_readme
Dev readme
2020-03-28 21:35:23 +08:00
Michael Bai
5268c0faae [Update] OpenID登录成功后,如果用户没有email字段则构造默认的email 2020-03-28 21:34:17 +08:00
Michael Bai
b2d9b69874 [Update] 修改readme 2020-03-28 21:26:27 +08:00
BaiJiangJie
336589af98 Merge pull request #3836 from jumpserver/1.5.8_cap
1.5.8 cap
2020-03-27 11:28:39 +08:00
Bai
5087c0e06f Merge branch 'dev' into 1.5.8_cap 2020-03-27 11:26:09 +08:00
BaiJiangJie
43ecd39d0e Merge pull request #3835 from jumpserver/dev
Dev
2020-03-27 11:09:09 +08:00
BaiJiangJie
209b23c5ce Merge pull request #3834 from jumpserver/dev_req
[Update] 修改依赖jms-storage==0.0.28
2020-03-27 11:08:42 +08:00
Bai
7e7d4401e6 [Update] 修改依赖jms-storage==0.0.28 2020-03-27 11:07:55 +08:00
BaiJiangJie
b4c3471d2c Merge pull request #3833 from jumpserver/dev
Dev
2020-03-27 10:48:09 +08:00
BaiJiangJie
f4a822062f Merge pull request #3829 from jumpserver/dev_bai
[Update] 优化创建AuthBook对象
2020-03-26 13:13:35 +08:00
Bai
4583beaec0 [Update] 创建AuthBook对象的方法从ModelManager中移动到Model中,保留原生的对象create方法;同时添加事务处理; 2020-03-26 13:11:38 +08:00
BaiJiangJie
42a6feb35e Merge pull request #3822 from jumpserver/dev_lock
[Update] 优化创建AuthBook逻辑;添加锁机制(基于redis-lock);
2020-03-24 23:20:38 +08:00
Bai
4503df910d [Update] 优化创建AuthBook逻辑;添加锁机制(基于redis-lock); 2020-03-24 18:40:20 +08:00
BaiJiangJie
a09b0c6c06 Merge pull request #3818 from jumpserver/dev_bai
[Update] 修改任务执行日期显示本地时间
2020-03-24 08:57:45 +08:00
Michael Bai
55c7e06185 [Update] 修改任务执行日期显示本地时间 2020-03-24 01:37:09 +08:00
老广
a95a0da6f7 Merge pull request #3816 from jumpserver/dev
[Bugfix] 修复因数据不支持timezone引起的仪表盘数据为空的bug
2020-03-23 17:56:45 +08:00
ibuler
0fd43f48f0 [Bugfix] 修复因数据不支持timezone引起的仪表盘数据为空的bug 2020-03-23 17:55:28 +08:00
ibuler
dffd05cd20 [Update] 修改组织获取优先级 2020-03-23 10:52:26 +08:00
BaiJiangJie
681046119d Merge pull request #3811 from jumpserver/dev
Dev
2020-03-23 03:22:00 +08:00
BaiJiangJie
b19c49da41 Merge pull request #3810 from jumpserver/dev_bai
[Update] 修改翻译;升级依赖;
2020-03-23 03:20:30 +08:00
Michael Bai
cc31c04b5f [Update] 升级依赖 2020-03-23 03:15:51 +08:00
Michael Bai
89f62d8e6b [Update] 更新翻译 2020-03-23 03:06:53 +08:00
Michael Bai
41b73c3701 [Update] 修改提示播放器下载地址 2020-03-23 03:02:22 +08:00
BaiJiangJie
cff3a790ef Merge pull request #3809 from jumpserver/dev_bai
[Update] 修改Node generate fake时死循环的问题
2020-03-23 02:50:06 +08:00
Michael Bai
8328edd69c [Update] 修改Node generate fake时死循环的问题 2020-03-23 02:32:24 +08:00
ibuler
9bf5d6dd45 [Update] 用户profile中添加orgs 2020-03-20 18:21:27 +08:00
BaiJiangJie
ac9a0c6d26 Merge pull request #3803 from jumpserver/dev
[Update] 禁用ansible连接复用
2020-03-20 17:55:38 +08:00
ibuler
064cb16d25 [Update] 禁用ansible连接复用 2020-03-20 16:45:38 +08:00
BaiJiangJie
f89b1fd44b Merge pull request #3798 from jumpserver/dev
[Bugfix] 修复重置并下载ssh key的bug
2020-03-19 16:28:34 +08:00
ibuler
b25096925b [Bugfix] 修复重置并下载ssh key的bug 2020-03-19 16:28:08 +08:00
BaiJiangJie
e8ff576324 Merge pull request #3797 from jumpserver/dev
[Update] 修复收藏资产数量不对的问题
2020-03-19 15:43:44 +08:00
ibuler
5ac1467564 [Update] 修复收藏数量不对的问题 2020-03-19 15:41:41 +08:00
BaiJiangJie
1c54e5acd8 Merge pull request #3796 from jumpserver/dev
Dev
2020-03-19 14:26:23 +08:00
ibuler
b8d0272e37 [Update] 修改测试系统用户显示 2020-03-19 11:47:39 +08:00
ibuler
0b7a90b83c Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-03-19 11:13:34 +08:00
ibuler
7cf000262d [Update] django cas ng 退出逻辑有问题,暂时屏蔽 2020-03-19 11:11:18 +08:00
BaiJiangJie
fa7e0d84f9 Merge pull request #3794 from jumpserver/dev_bai
[Update] 修改批量移除节点时不选择节点给出提示信息
2020-03-19 10:27:26 +08:00
Bai
98f6d0146c [Update] 修改批量移除节点时不选择节点给出提示信息 2020-03-19 10:21:19 +08:00
ibuler
d0fac3f838 [Bugfix] 修复task 列表、 2020-03-18 19:58:08 +08:00
ibuler
a41988d2b5 [Bugfix] 修改配置文件,支持cas proxy 2020-03-18 19:10:27 +08:00
BaiJiangJie
b801d2f2e9 Update README.md 2020-03-18 17:16:53 +08:00
BaiJiangJie
6bed9210dd Merge pull request #3793 from jumpserver/dev_bai
[Update] 修改readme2
2020-03-18 17:15:15 +08:00
Bai
eac4630272 [Update] 修改readme2 2020-03-18 17:14:21 +08:00
BaiJiangJie
11a0d72b01 Merge pull request #3792 from jumpserver/dev_readme
[Update] 修改readme
2020-03-18 17:09:21 +08:00
Bai
7dcd04ca1a [Update] 修改readme 2020-03-18 17:03:49 +08:00
BaiJiangJie
ccfb151fb1 Merge pull request #3791 from jumpserver/dev_version
[Update] 更新版本号
2020-03-18 16:43:12 +08:00
Bai
ae98eee0c7 [Update] 更新版本号 2020-03-18 16:34:37 +08:00
BaiJiangJie
829a4406a2 Merge pull request #3790 from jumpserver/dev_bai
[Update] 修改执行task时切换root组织2
2020-03-18 14:04:14 +08:00
Bai
91c42e8530 [Update] 修改执行task时切换root组织2 2020-03-18 14:02:36 +08:00
BaiJiangJie
250acea751 Merge pull request #3789 from jumpserver/dev_bai
[Update] 修改执行task时切换root组织
2020-03-18 13:49:04 +08:00
Bai
00d9f71384 [Update] 修改执行task时切换root组织 2020-03-18 13:45:49 +08:00
BaiJiangJie
ffce909ee3 Merge pull request #3783 from jumpserver/bugfix
Bugfix
2020-03-18 11:05:51 +08:00
BaiJiangJie
0e62ea787c Merge pull request #3785 from jumpserver/login_image_2
[Fix] 修改登录图片亮度
2020-03-18 10:44:55 +08:00
jym503558564
cedb862420 [Fix] 修改登录图片亮度 2020-03-17 17:28:53 +08:00
Bai
a6054ff6a5 [Update] 修复批量删除资产,当待删除数量和资产总数相等时,提示删除失败。 2020-03-17 17:06:59 +08:00
Bai
a67b445026 [Update] 修复录像存储ceph的help_text 2020-03-17 16:15:37 +08:00
BaiJiangJie
8d33990050 Merge pull request #3782 from jumpserver/login_image_2
[Fix] 修改登录界面LOGO
2020-03-17 15:32:18 +08:00
jym503558564
516e75cbf4 [Fix] 修改登录界面LOGO 2020-03-17 15:30:59 +08:00
Bai
15ca775005 [Update] 删除推送系统用户时关于task的log 2020-03-17 15:21:12 +08:00
Bai
41ca43bf33 Merge branch 'bugfix' of https://github.com/jumpserver/jumpserver into bugfix 2020-03-17 15:02:56 +08:00
Bai
c6a604fd5f [Update] 修复显示创建者字段值的问题 2020-03-17 15:02:44 +08:00
ibuler
8e84efb296 [Update] 修改一些文案和翻译 2020-03-17 13:51:41 +08:00
ibuler
caee286973 [Update] 修改华为云始终有效的bug 2020-03-17 10:59:49 +08:00
ibuler
672b82c3d6 [Bugfix] 修复可能无法找到command execution的bug 2020-03-16 19:24:48 +08:00
ibuler
55554a025f [Bugfix] 修复动态系统用户更新用户时无法推送的bug, 修复通过relation api无法触发m2m_change的bug 2020-03-16 19:15:29 +08:00
ibuler
c91ce2b99f [Bugfix] 修复动态系统用户返回auth info的bug 2020-03-16 16:59:45 +08:00
ibuler
02a901467b [Bugfix] 修复动态系统用户登录windows的bug 2020-03-16 16:13:54 +08:00
ibuler
00b3c7c945 [Bugfix] 修复动态系统用户执行批量命令的bug 2020-03-16 15:23:15 +08:00
ibuler
2f9598ba49 [Update] 修复ops task中任务某版本任务的bug 2020-03-16 14:41:24 +08:00
ibuler
3138abb00c [Bugfix] 修复ops列表任务无法删除的bug 2020-03-16 14:18:29 +08:00
ibuler
3afb8647bd Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2020-03-13 13:57:42 +08:00
ibuler
0682f4fc90 [Update] 修改readme 2020-03-13 13:57:21 +08:00
BaiJiangJie
44ec69fdbd Merge pull request #3775 from jumpserver/dev_bai
[Update] 修改只有local用户需要发送创建成功邮件、发送密码过期邮件;
2020-03-13 12:36:40 +08:00
Bai
04945809a5 [Update] 修改只有local用户需要发送创建成功邮件、发送密码过期邮件; 2020-03-13 12:33:09 +08:00
BaiJiangJie
e38b113d7e Merge pull request #3771 from jumpserver/dev_trans
[Update] 更新翻译
2020-03-12 19:05:50 +08:00
Bai
eb448dc3f2 [Update] 更新翻译 2020-03-12 19:00:22 +08:00
BaiJiangJie
954a97bba7 Merge pull request #3770 from jumpserver/dev_req
[Update] 更新依赖jms-storage=0.0.27
2020-03-12 16:34:33 +08:00
Bai
41e03c629f [Update] 更新依赖jms-storage=0.0.27 2020-03-12 16:33:33 +08:00
老广
1fd2e782f8 1.5.7 Merge to dev (#3766)
* [Update] 暂存,优化解决不了问题

* [Update] 待续(小白)

* [Update] 修改asset user

* [Update] 计划再次更改

* [Update] 修改asset user

* [Update] 暂存与喜爱

* [Update] Add id in

* [Update] 阶段性完成ops task该做

* [Update] 修改asset user api

* [Update] 修改asset user 任务,查看认证等

* [Update] 基本完成asset user改造

* [Update] dynamic user only allow 1

* [Update] 修改asset user task

* [Update] 修改node admin user task api

* [Update] remove file header license

* [Update] 添加sftp root

* [Update] 暂存

* [Update] 暂存

* [Update] 修改翻译

* [Update] 修改系统用户改为同名后,用户名改为空

* [Update] 基本完成CAS调研

* [Update] 支持cas server

* [Update] 支持cas server

* [Update] 添加requirements

* [Update] 为方便调试添加mysql ipython到包中

* [Update] 添加huaweiyun翻译

* [Update] 增加下载session 录像

* [Update] 只有第一次通知replay离线的使用方法

* [Update] 暂存一下

* [Bugfix] 获取系统用户信息报错

* [Bugfix] 修改system user info

* [Update] 改成清理10天git status

* [Update] 修改celery日志保留时间

* [Update]修复部分pip包依赖的版本不兼容问题 (#3672)

* [Update] 修复用户更新页面会清空用户public_key的问题

* Fix broken dependencies

Co-authored-by: BaiJiangJie <32935519+BaiJiangJie@users.noreply.github.com>

* [Update] 修改获取系统用户auth info

* [Update] Remove log

* [Bugfix] 修复sftp home设置的bug

* [Update] 授权的系统用户添加sftp root

* [Update] 修改系统用户关联的用户

* [Update] 修改placeholder

* [Update] 优化获取授权的系统用户

* [Update] 修改tasks

* [Update] tree service update

* [Update] 暂存

* [Update] 基本完成用户授权树和资产树改造

* [Update] Dashbaord perf

* [update] Add huawei cloud sdk requirements

* [Updte] 优化dashboard页面

* [Update] system user auth info 添加id

* [Update] 修改系统用户serializer

* [Update] 优化api

* [Update] LDAP Test Util (#3720)

* [Update] LDAPTestUtil 1

* [Update] LDAPTestUtil 2

* [Update] LDAPTestUtil 3

* [Update] LDAPTestUtil 4

* [Update] LDAPTestUtil 5

* [Update] LDAPTestUtil 6

* [Update] LDAPTestUtil 7

* [Update] session 已添加is success,并且添加display serializer

* [Bugfix] 修复无法删除空节点的bug

* [Update] 命令记录分组织显示

* [Update] Session is_success 添加迁移文件

* [Update] 批量命令添加org_id

* [Update] 修复一些文案,修改不绑定MFA,不能ssh登录

* [Update] 修改replay api, 返回session信息

* [Update] 解决无效es导致访问命令记录页面失败的问题

* [Update] 拆分profile view

* [Update] 修改一个翻译

* [Update] 修改aysnc api框架

* [Update] 命令列表添加risk level

* [Update] 完成录像打包下载

* [Update] 更改登陆otp页面

* [Update] 修改command 存储redis_level

* [Update] 修改翻译

* [Update] 修改系统用户的用户列表字段

* [Update] 使用新logo和统一Jumpserver为JumpServer

* [Update] 优化cloud task

* [Update] 统一period task

* [Update] 统一period form serializer字段

* [Update] 修改period task

* [Update] 修改资产网关信息

* [Update] 用户授权资产树资产信息添加domain

* [Update] 修改翻译

* [Update] 测试可连接性

* 1.5.7 bai (#3764)

* [Update] 修复index页面Bug;修复测试资产用户可连接性问题;

* [Update] 修改测试资产用户可连接

* [Bugfix] 修复backends问题

* [Update] 修改marksafe依赖版本

* [Update] 修改测试资产用户可连接性

* [Update] 修改检测服务器性能时获取percent值

* [Update] 更新依赖boto3=1.12.14

Co-authored-by: Yanzhe Lee <lee.yanzhe@yanzhe.org>
Co-authored-by: BaiJiangJie <32935519+BaiJiangJie@users.noreply.github.com>
Co-authored-by: Bai <bugatti_it@163.com>
2020-03-12 16:24:38 +08:00
老广
1f6a8e8f02 Merge pull request #3698 from jumpserver/readme
[Update] 修改README中 jumpserver ==> JumpServer
2020-03-12 10:39:26 +08:00
老广
eca0a9a7d7 Merge pull request #3723 from jumpserver/settings_bug
Settings bug
2020-02-26 16:19:39 +08:00
老广
775f8f2ffd Merge pull request #3722 from jumpserver/settings_bug
Settings bug
2020-02-26 16:18:24 +08:00
ibuler
1e8ef8c925 [Update] Merge with master 2020-02-26 16:15:42 +08:00
ibuler
c354b55f61 [update] 修复获取settings有问题的bug 2020-02-26 16:12:41 +08:00
ibuler
76ac0215fe [update] 修复获取settings有问题的bug 2020-02-26 16:12:08 +08:00
老广
4f93a3ca92 Merge pull request #3716 from jumpserver/dev
Dev
2020-02-24 12:08:32 +08:00
ibuler
bcae30814d [Update] 修改导入 2020-02-24 12:06:02 +08:00
老广
98bb6c63f5 [Update] 修改切换组织后页面跳转 (#3715) 2020-02-24 12:00:20 +08:00
老广
8b8b11ce1e [Update] 恢复到原来的sql (#3707) 2020-02-15 20:49:20 +08:00
BaiJiangJie
5f61f2b555 Merge pull request #3702 from jumpserver/dev_interface
[Update] 修改终端获取登录标题配置的逻辑
2020-02-14 10:45:37 +08:00
Bai
62d2e01cdf [Update] 修改终端获取登录标题配置的逻辑 2020-02-14 10:40:18 +08:00
jym503558564
5e89ee9202 [Update] 修改README中 jumpserver ==> JumpServer 2020-02-13 19:58:14 +08:00
老广
5d313a827b [Update] 优化session 索引 is_finished (#3697) 2020-02-13 15:17:13 +08:00
ibuler
edf6baa52d [Update] 修改api创建的token有效期是600s 2020-02-07 17:24:52 +08:00
老广
3c69860b24 [Update] 优化sql, or方式改为union (#3682)
* [Update] 优化sql, or方式改为union

* [Update] 优化union操作,直接union后,queryset 的一些参数不能使用,如annoate, 如filter assets__isnull=True
2020-02-05 15:56:28 +08:00
老广
aa2255a87e [Update] sql优化,查询用户资产权限时,使用union替代or (#3681) 2020-02-05 12:10:24 +08:00
BaiJiangJie
3cc9e0a66c Merge pull request #3680 from jumpserver/dev
Dev
2020-02-03 14:25:24 +08:00
BaiJiangJie
ec1f6677ec Merge pull request #3679 from jumpserver/dev_session
[Bugfix] 处理心跳时guacamole上报的session为str处理为list
2020-02-03 14:08:37 +08:00
Bai
ae98fb4332 [Bugfix] 处理心跳时guacamole上报的session为str处理为list 2020-02-03 13:54:59 +08:00
Yanzhe Lee
29730757b8 Infer User.name from OpenID UserInfo.name (#3674)
Signed-off-by: YanzheL <lee.yanzhe@yanzhe.org>
2020-01-27 10:15:06 +08:00
BaiJiangJie
1c2feedb27 Merge pull request #3661 from jumpserver/dev
Dev
2020-01-20 11:36:18 +08:00
BaiJiangJie
b227d9cdc1 Merge pull request #3660 from jumpserver/dev_auth
[Update] 修复用户更新页面会清空用户public_key的问题
2020-01-20 11:28:40 +08:00
Bai
da6a0c286d [Update] 修复用户更新页面会清空用户public_key的问题 2020-01-20 11:27:34 +08:00
BaiJiangJie
13a042bc0f Merge pull request #3658 from jumpserver/dev_loginip
[Update] 修改获取用户登录的ip和type
2020-01-19 12:14:34 +08:00
Bai
7f9644dbac [Update] 修改获取用户登录的ip和type 2020-01-19 12:13:42 +08:00
BaiJiangJie
ece9b16351 Merge pull request #3651 from jumpserver/dev
Dev
2020-01-16 11:39:26 +08:00
BaiJiangJie
23b896b301 Merge pull request #3650 from jumpserver/dev_i18n
[Update] 翻译应用树更节点(API)
2020-01-16 11:31:55 +08:00
Bai
dd52baae12 [Update] 翻译应用树更节点(API) 2020-01-16 11:31:08 +08:00
BaiJiangJie
eb1ca4c0f2 Merge pull request #3649 from jumpserver/dev_copyright
[Update] 修改copyright
2020-01-16 10:36:48 +08:00
Bai
8e75e519fa [Update] 修改copyright 2020-01-16 10:35:00 +08:00
BaiJiangJie
389c6b5a84 Merge pull request #3648 from jumpserver/dev_i18n
[Update] 更新翻译
2020-01-16 09:59:22 +08:00
Bai
6fc7a4cb21 [Update] 更新翻译 2020-01-16 09:58:00 +08:00
BaiJiangJie
68455156a3 Merge pull request #3646 from jumpserver/dev_ops
[Update] 更新命令批量执行资产树(将没有ssh协议的资产设置为nocheck)
2020-01-15 10:47:39 +08:00
Bai
2827a64095 [Update] 更新命令批量执行资产树(将没有ssh协议的资产设置为nocheck) 2020-01-15 10:46:41 +08:00
BaiJiangJie
c21505e92d Merge pull request #3644 from jumpserver/dev_ops
[Update] 批量命令执行开放rdp系统用户
2020-01-14 17:34:40 +08:00
Bai
7d855e5ad8 [Update] 批量命令执行开放rdp系统用户 2020-01-14 17:33:41 +08:00
BaiJiangJie
17956bf0db Merge pull request #3633 from jumpserver/dev
Dev
2020-01-14 16:56:04 +08:00
BaiJiangJie
267a7fc9f7 Merge pull request #3643 from jumpserver/dev_i18n
[Update] 更新翻译
2020-01-14 16:55:44 +08:00
Bai
9ef4762817 [Update] 更新翻译 2020-01-14 16:54:52 +08:00
八千流
29457ad867 Assets_permission_action 优化 (#3585)
* [Update] 初步实现 actions的checkbox层叠嵌套

* [Update] 优化actions的checkbox层叠嵌套

* [Update] 修改校验用户/系统用户/资产的权限API可能会出现的问题

* [Update] 更新资产授权中动作的展示

* [Update] 更新资产授权中动作的展示 2

* [Update] 更新资产授权中动作的展示 3

Co-authored-by: BaiJiangJie <32935519+BaiJiangJie@users.noreply.github.com>
2020-01-14 16:44:28 +08:00
BaiJiangJie
d5082d1379 Merge pull request #3639 from jumpserver/dev_su_detail
[Update] 系统用户详情(mysql)开放命令过滤器
2020-01-14 11:08:32 +08:00
Bai
c07536b26f [Update] 系统用户详情(mysql)开放命令过滤器 2020-01-14 11:07:35 +08:00
BaiJiangJie
678999b9f5 Merge pull request #3638 from jumpserver/dev_su_mysql
[Update] 系统用户(mysql)开放命令过滤器
2020-01-14 11:03:29 +08:00
Bai
4295aec492 [Update] 系统用户(mysql)开放命令过滤器 2020-01-14 10:53:52 +08:00
BaiJiangJie
75a2b9eac2 Merge pull request #3636 from jumpserver/dev_perms
[Update] 授权的 RemoteApp/DatabaseApp 进行去重
2020-01-13 18:57:33 +08:00
Bai
2fc68ca6f1 [Update] 授权的 RemoteApp/DatabaseApp 进行去重 2020-01-13 18:56:58 +08:00
BaiJiangJie
56a156b717 Merge pull request #3634 from jumpserver/dev_req
[Update] 修改依赖
2020-01-13 17:28:44 +08:00
Bai
7c59134635 [Update] 修改依赖 2020-01-13 17:28:00 +08:00
BaiJiangJie
f98f0e2c06 Merge pull request #3632 from jumpserver/dev_i18n
Dev i18n
2020-01-13 14:24:41 +08:00
Bai
63746accf9 [Update] 修改js默认语言为中文 2020-01-13 14:23:33 +08:00
Bai
670e2d7352 [Update] 更新翻译 2020-01-13 14:13:45 +08:00
BaiJiangJie
db3b60faf9 Merge pull request #3631 from jumpserver/dev_admin_user
[Update] 修改删除管理用户(存在关联资产)的Bug
2020-01-13 14:09:39 +08:00
Bai
f1b8c1965d [Update] 修改删除管理用户(存在关联资产)的Bug 2020-01-13 14:07:42 +08:00
BaiJiangJie
aa2a77ee7e Merge pull request #3630 from jumpserver/dev_req
[Update] 修改依赖
2020-01-13 13:52:31 +08:00
Bai
b107d15097 [Update] 修改依赖 2020-01-13 13:51:59 +08:00
BaiJiangJie
52b9c400eb Merge pull request #3629 from jumpserver/dev
Dev
2020-01-13 12:51:13 +08:00
BaiJiangJie
851bd99eaf Merge pull request #3628 from jumpserver/dev_node
[Update] 修改资产树移动资产的问题
2020-01-13 12:50:49 +08:00
Bai
0c0eb843ab [Update] 修改资产树移动资产的问题 2020-01-13 12:50:01 +08:00
BaiJiangJie
bd19f8afe8 Merge pull request #3624 from jumpserver/dev
Dev
2020-01-10 18:27:49 +08:00
BaiJiangJie
bafffc95b8 Merge pull request #3621 from jumpserver/dev_node
[Update] 资产节点添加资产时,祖先节点授权的系统用户关联对应资产
2020-01-10 16:47:44 +08:00
Bai
14581ac775 [Update] 资产节点添加资产时,祖先节点授权的系统用户关联对应资产 2020-01-10 16:46:18 +08:00
BaiJiangJie
6ddd48bfb1 Merge pull request #3618 from jumpserver/dev_swift
[Update] 修改Swift录像存储创建参数及API返回值
2020-01-10 11:44:23 +08:00
Bai
ff1828bdd6 [Update] 修改Swift录像存储创建参数及API返回值 2020-01-10 11:42:53 +08:00
BaiJiangJie
84e5177ce2 Merge pull request #3614 from jumpserver/dev_ldap
[Update] 修改LDAP认证逻辑,密码为空时认证失败
2020-01-09 11:18:12 +08:00
Bai
1c9be184fd [Update] 修改LDAP认证逻辑,密码为空时认证失败 2020-01-09 11:16:13 +08:00
BaiJiangJie
57155c2469 [Update] 更新 Readme (#3608)
* [Update] readme 1

* [Update] readme 2

* [Update] readme 3

* [Update] readme 4

* [Update] readme 5
2020-01-08 12:17:56 +08:00
BaiJiangJie
f9578f4474 Merge pull request #3606 from jumpserver/dev
Dev
2020-01-07 17:34:07 +08:00
BaiJiangJie
a37e14221e Merge pull request #3603 from jumpserver/dev_systemuser
[Update] 更新系统用户认证信息private_key转换
2020-01-07 15:56:16 +08:00
Bai
005272cdc0 [Update] 更新系统用户认证信息private_key转换 2020-01-07 15:53:53 +08:00
BaiJiangJie
f88cb3da20 Merge pull request #3600 from jumpserver/dev_i18n
[Update] dateRange插件支持i18n
2020-01-06 18:24:14 +08:00
Bai
9f42dfb26e [Update] dateRange插件支持i18n 2 2020-01-06 18:23:35 +08:00
Bai
f702fc7d93 [Update] dateRange插件支持i18n 2020-01-06 18:21:12 +08:00
BaiJiangJie
05adb4e95f Merge pull request #3598 from jumpserver/dev_terminal
[Update] 更新Session表asset字段长度128
2020-01-06 15:36:51 +08:00
Bai
210a2d7fe6 [Update] 更新Session表asset字段长度128 2020-01-06 15:36:03 +08:00
BaiJiangJie
c9dc1ea254 Merge pull request #3596 from jumpserver/dev_ops
[Update] 修改作业中心批量命令资产树收藏夹循环现实的问题
2020-01-06 14:48:08 +08:00
Bai
79b5618756 [Update] 修改作业中心批量命令资产树收藏夹循环现实的问题 2020-01-06 14:46:59 +08:00
BaiJiangJie
bf922459ff [Update] 修改创建按钮样式;Open 数据库应用;取消资产/系统用户/组织等名称对于特殊字符的限制; (#3594)
* [Update] 修改创建按钮样式

* [Update] Open数据库应用

* [Update] 取消资产/系统用户/组织等名称对于特殊字符的限制
2020-01-06 11:43:37 +08:00
BaiJiangJie
a27fb18a17 Merge pull request #3591 from jumpserver/dev
Dev
2020-01-03 17:03:37 +08:00
BaiJiangJie
f62f750266 Merge pull request #3588 from jumpserver/dev_mfa
Dev mfa
2020-01-03 15:31:43 +08:00
BaiJiangJie
b072e98148 [Update] 修改确认用户认证成功和绑定MFA的前后逻辑(解决绕过绑定MFA的漏洞;解决管理员重置用户MFA后自动退出的问题) 2020-01-03 15:26:38 +08:00
BaiJiangJie
352bfeeb7a [Update] 绑定MFA页面(二维码显示) 2020-01-03 11:41:07 +08:00
BaiJiangJie
1d7bdd5f5f Merge pull request #3586 from jumpserver/dev_bai
[Bugfix] 修改BlockLoginError的msg值在初始化中设置(数据表没生成之前启动会有问题)
2020-01-02 16:25:07 +08:00
BaiJiangJie
8702761303 [Bugfix] 修改BlockLoginError的msg值在初始化中设置(数据表没生成之前启动会有问题) 2020-01-02 16:24:13 +08:00
BaiJiangJie
ce3cc80037 Merge pull request #3583 from jumpserver/dev_version
[Update] 修改版本号(v1.5.6)
2019-12-31 18:50:56 +08:00
BaiJiangJie
9556d33d1c [Update] 修改版本号(v1.5.6) 2019-12-31 18:49:21 +08:00
BaiJiangJie
02650c9cdc Merge pull request #3582 from jumpserver/dev_session
[Update] 添加清除幽灵mysql会话
2019-12-31 16:49:20 +08:00
BaiJiangJie
75c6047236 [Update] 添加清除幽灵mysql会话 2019-12-31 16:47:25 +08:00
BaiJiangJie
e6c369cfd8 Merge pull request #3581 from jumpserver/dev_session
[Update] 添加清除幽灵rdp会话
2019-12-31 15:39:04 +08:00
BaiJiangJie
131496bfee [Update] 添加清除幽灵rdp会话 2019-12-31 15:38:10 +08:00
BaiJiangJie
c084412e53 [Update] 解决Vault翻页再次选择资产时不能设置到select框的问题:select.style === single 时 (#3579)
* [Update] 解决Vault翻页再次选择资产时不能设置到select框的问题:select.style === single 时

* [Update] 优化1
2019-12-30 16:40:38 +08:00
BaiJiangJie
ad81d6c28e Merge pull request #3576 from jumpserver/dev_audit
[Update] 修改操作日志title文案:操作者
2019-12-30 12:27:58 +08:00
BaiJiangJie
08fb8f5d92 [Update] 修改操作日志title文案:操作者 2019-12-30 12:27:14 +08:00
BaiJiangJie
4df08f0521 Merge pull request #3575 from jumpserver/dev_storage
[Update] 命令存储ES字段设置为required
2019-12-30 11:55:25 +08:00
BaiJiangJie
c963937f00 [Update] 命令存储ES字段设置为required 2019-12-30 11:54:36 +08:00
BaiJiangJie
b64ae358fb Merge pull request #3572 from jumpserver/dev_bai
[Update] 修改右击节点rMenu菜单show offset
2019-12-27 16:59:30 +08:00
BaiJiangJie
42c5783e43 [Update] 修改右击节点rMenu菜单show offset 2019-12-27 16:42:36 +08:00
BaiJiangJie
a2350e7f1d Merge pull request #3571 from jumpserver/bugfix
[Bugfix] 修复vault导出选择id的bug
2019-12-27 16:05:28 +08:00
ibuler
b3114a1f3d [Bugfix] 修复vault导出选择id的bug 2019-12-27 16:03:45 +08:00
BaiJiangJie
b4cf540e51 [Update] 操作日志添加新的Record Model;用户登录日志采用同步机制;修改DatabaseAppAPI权限(加入AppUser); (#3570)
* [Update] 操作日志 Model Need Record 添加RemoteApp、DatabaseApp、DatabaseAppPermission

* [Update] 用户登录日志,采用同步机制

* [Update] 修改DatabaseApp API权限OrgAdmin和AppUser
2019-12-27 16:00:32 +08:00
BaiJiangJie
deeb9cdfa6 Merge pull request #3564 from jumpserver/dev_bai
[Update] 修改校验用户资产权限API不使用缓存
2019-12-25 10:30:45 +08:00
BaiJiangJie
7a6a1b9b59 [Update] 修改校验用户资产权限API不使用缓存 2019-12-25 10:29:58 +08:00
BaiJiangJie
15d1e021de Merge pull request #3559 from jumpserver/dev_command
[Update] 支持Windows批量命令
2019-12-23 11:23:46 +08:00
BaiJiangJie
f063832bc6 [Update] 支持Windows批量命令2 2019-12-23 11:22:46 +08:00
BaiJiangJie
1d30c1900d [Update] 支持Windows批量命令 2019-12-21 19:44:25 +08:00
BaiJiangJie
78a227af3e Merge pull request #3557 from jumpserver/dev_bai_bugfix
[Update] 修改Adhoc字段become可以为None
2019-12-20 17:38:56 +08:00
BaiJiangJie
e978308335 [Update] 修改Adhoc字段become可以为空 2019-12-20 17:36:06 +08:00
BaiJiangJie
7193d7fc1b Merge pull request #3556 from jumpserver/dev_trans
[Update] 更新翻译(用户详情页)
2019-12-20 16:20:43 +08:00
BaiJiangJie
d6a95d3f1a [Update] 更新翻译(用户详情页) 2019-12-20 16:19:51 +08:00
BaiJiangJie
829e1f4cac [Update] 修改用户详情页面 (#3555)
* [Update] 用户详情添加远程应用授权页面

* [Update] 用户详情添加授权的远程应用页面

* [Update] 用户详情添加授权的数据库应用页面

* [Update] 用户详情添加数据库应用授权页面

* [Update] 修改用户详情nav的active属性设置

* [Update] 修改用户详情页面导航

* [Update] 抽象用户详情页面

* [Update] 修改用户详情页面

* [Update] 修改用户详情页面nav header
2019-12-20 15:55:59 +08:00
BaiJiangJie
33dc7dec84 Merge pull request #3554 from jumpserver/master_auth
[Update] 修改校验用户有效性逻辑
2019-12-20 10:26:09 +08:00
BaiJiangJie
b90960e6e1 [Update] 修改校验用户有效性逻辑 2019-12-20 10:24:09 +08:00
BaiJiangJie
b365ba7982 [Update] 修改用户列表批量删除判断条件 (#3553) 2019-12-19 16:23:21 +08:00
BaiJiangJie
9cfccf8a1b [Update] 更新翻译 (#3552)
* [Update] 更新翻译(数据库应用)

* [Update] 更新翻译(数据库应用)2

* [Update] 更新翻译(数据库应用)3
2019-12-19 16:08:02 +08:00
BaiJiangJie
16f727c60d [Feature] 添加功能:数据库应用 (#3551)
* [Update] 添加数据库应用Model

* [Update] 添加数据库应用ViewSet

* [Update] 添加数据库应用HTML

* [Update] 更新数据库应用迁移文件

* [Update] 添加数据库应用授权Model

* [Update] 添加数据库应用授权ViewSet(待续)

* [Update] 添加数据库应用授权ViewSet(完结)

* [Update] 添加数据库应用授权View(待续)

* [Update] 添加数据库应用授权View(待续2)

* [Update] 修改远程应用授权View(小问题)

* [Update] 添加数据库应用授权View(待续3)

* [Update] 添加数据库应用授权View(完结)

* [Update] 添加数据库应用授权相关API

* [Update] 添加数据库应用View(用户页面)

* [Update] 修改数据库应用授权Model/View/API(系统用户)

* [Update] 修改系统用户Model/View(添加mysql协议)

* [Update] 修改用户页面(我的应用)

* [Update] 添加迁移文件

* [Update] 添加迁移文件2

* [Update] 续添加迁移文件2(Model更改)

* [Update] 修改系统用户序列类(mysql协议自动生成密码问题)

* [Update] 修改数据库应用/资产等授权序列类

* [Update] 修改命令列表/会话详情命令溢出

* [Update] 修改授权详情中添加系统用户的过滤

* [Update] 修改列表动作的宽度
2019-12-19 15:28:17 +08:00
BaiJiangJie
ac2ba63856 [Update] 修改资产授权url (#3550) 2019-12-19 10:48:18 +08:00
老广
55c95c58f6 Add new model to operate log (#3546)
* [Update] 添加一下model到operate log, [platform,remoteapppermission,changeauthplan,gatherusertask]

* [Bugfix] 修改了返回platform的几个位置,修改了command execution的url

* [Update] 优化ops task表结构,避免列表页查询几十次sql, 优化了基础的encryptjsonfield

* [Update] 修改adhoc 返回的become字段,避免密码泄露

* [Update] 修改变量名称
2019-12-18 15:37:53 +08:00
八千流
907703d911 [Update] 修复 工单按用户搜索无效的问题 (#3540) 2019-12-18 15:09:51 +08:00
老广
e1919d0a62 Asset meta (#3539)
- 更改了资产表单,影响
  - 资产创建和更新
- 增加了资产平台数据库,影响
  - 平台创建更新和删除
- 更改了资产的platform字段,又一个字符字段,改为一个外键,影响 
  - 资产创建和更新
  - 资产连接 [windows,linux]
  - 测试连接等ansible任务
  - 自动化云导入
- 更改了资产的序列化器,影响
  - 资产创建更新列表
- 统一了树列表基础模板,影响
  - 资产列表页,权限列表页,vault页,资产收集页
- 统一了导入导出组件,影响
  - 资产导入导出
  - 用户导入导出
  - 用户组导入导出
  - 系统用户导入导出
  - 管理用户导入导出
  - vault导出导出
  - 收集用户列表导入导出
- 修改用户更新密码信号,影响
  - 修改用户密码产生的改密日志

- 新增Model instance序列化工具函数,影响
  - 操作日志生成
- 修改api mixin,新增 serializer_classes字段,serializer_classes = {"default": "", "display": "", "list": .., "other_action": ""}, 根据用户请求的方式返回不同的serializer_class,影响

  - 用户的viewset
  - 资产权限的viewset
- 统一系统配置中的tab切换
- 统一没有nav的页面,影响
  - 重置密码
  - 忘记密码
  - 重置中设置密码
  - 独立的message页面
- 修改用户组列表页,不再返还用户组下的用户,仅有数量
- 组织的一些方法变为layzproperty,避免重复计算
- 修改用户组详情页,影响
  - 用户组增加删除用户
2019-12-16 16:53:29 +08:00
BaiJiangJie
4ac4b517f4 [Update] 更新依赖(psutil) (#3529) 2019-12-11 12:03:30 +08:00
BaiJiangJie
f296dce935 [Update] 修改config 加载逻辑 (#3528) 2019-12-11 11:53:46 +08:00
BaiJiangJie
bc5a240121 [Update] 更新迁移文件(ReplayStorage Type,RemoteApp Type) (#3524) 2019-12-10 17:06:44 +08:00
BaiJiangJie
b4498f2267 [Update] 修改 RemoteApp 前端 Form 渲染逻辑 (#3523)
* [Update] 修改 RemoteApp 前端 Form 渲染逻辑

* [Update] RemoteApp 表单添加默认值
2019-12-10 15:16:16 +08:00
BaiJiangJie
b2932803b0 [Update] 修改settings DEFAULT_AUTO_SCHEMA_CLASS 路径 (#3518) 2019-12-09 16:33:02 +08:00
BaiJiangJie
cea336a8ce [Update] 用户第三方认证后,只在创建时修改用户来源信息;修改检验用户有效性逻辑; (#3517)
* [Update] 用户第三方认证后,只在创建时修改用户来源信息

* [Update] 修改检验用户有效性逻辑(解决启用LDAP等认证时,显示用户名不存在)

* [Update] 修改检验用户有效性逻辑(解决启用LDAP等认证时,显示用户名不存在)2
2019-12-09 16:12:48 +08:00
BaiJiangJie
16864ca34e [Update] 用户列表添加移除操作(在其他组织中) (#3513)
* [Update] 用户列表添加移除操作(在其他组织中)

* [Update] 用户列表添加移除操作(在其他组织中)2
2019-12-09 11:50:52 +08:00
BaiJiangJie
c5785e17aa Dev node (#3511)
* [Update] 添加节点详情Modal

* [Update] 更新翻译
2019-12-06 15:29:01 +08:00
BaiJiangJie
f89c6124a6 [Update] 修改获取录像失败的问题 (#3509) 2019-12-06 11:36:36 +08:00
BaiJiangJie
47b1a13bea [Update] 添加存储类型:Ceph、Swift (#3508) 2019-12-05 18:19:27 +08:00
BaiJiangJie
df52240227 [Update] 修复录像回放 Bug (#3506) 2019-12-05 16:21:11 +08:00
老广
4944ac8e75 Config (#3502)
* [Update] 修改config

* [Update] 移动存储设置到到terminal中

* [Update] 修改permission 查看

* [Update] pre merge

* [Update] 录像存储

* [Update] 命令存储

* [Update] 添加存储测试可连接性

* [Update] 修改 meta 值的 key 为大写

* [Update] 修改 Terminal 相关 Storage 配置

* [Update] 删除之前获取录像/命令存储的代码

* [Update] 修改导入失败

* [Update] 迁移文件添加default存储

* [Update] 删除之前代码,添加help_text信息

* [Update] 删除之前代码

* [Update] 删除之前代码

* [Update] 抽象命令/录像存储 APIView

* [Update] 抽象命令/录像存储 APIView 1

* [Update] 抽象命令/录像存储 DictField

* [Update] 抽象命令/录像存储列表页面

* [Update] 修复CustomDictField的bug

* [Update] RemoteApp 页面添加 hidden

* [Update] 用户页面添加用户关联授权

* [Update] 修改存储测试可连接性 target

* [Update] 修改配置

* [Update] 修改存储前端 Form 渲染逻辑

* [Update] 修改存储细节

* [Update] 统一存储类型到 const 文件

* [Update] 修改迁移文件及Model,创建默认存储

* [Update] 修改迁移文件及Model初始化默认数据

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 修改迁移文件

* [Update] 限制删除默认存储配置,只允许创建扩展的存储类型

* [Update] 修改ip字段长度

* [Update] 修改ip字段长度

* [Update] 修改一些css

* [Update] 修改关联

* [Update] 添加操作日志定时清理

* [Update] 修改记录syslog的instance encoder

* [Update] 忽略登录产生的操作日志

* [Update] 限制更新存储时不覆盖原有AK SK 等字段

* [Update] 修改迁移文件添加comment字段

* [Update] 修改迁移文件

* [Update] 添加 comment 字段

* [Update] 修改默认存储no -> null

* [Update] 修改细节

* [Update] 更新翻译(存储配置

* [Update] 修改定时任务注册,修改系统用户资产、节点关系api

* [Update] 添加监控磁盘任务

* [Update] 修改session

* [Update] 拆分serializer

* [Update] 还原setting原来的manager
2019-12-05 15:09:25 +08:00
BaiJiangJie
a88db3d9db Merge pull request #3501 from jumpserver/dev
Dev
2019-12-04 17:55:26 +08:00
BaiJiangJie
fd1b9d97c0 Merge pull request #3500 from jumpserver/dev_c
[Update] 更新配置文件
2019-12-04 17:54:59 +08:00
BaiJiangJie
5e95f262b2 [Update] 更新配置文件 2019-12-04 17:53:15 +08:00
BaiJiangJie
4493a82425 Merge pull request #3497 from jumpserver/dev
Dev
2019-12-04 17:14:35 +08:00
BaiJiangJie
078751979e Merge pull request #3496 from jumpserver/gateway_bug
[Update] 修复获取网关bug
2019-12-04 17:14:10 +08:00
jym503558564
1fd98ae404 [Update] 修复获取网关bug 2019-12-04 17:07:57 +08:00
BaiJiangJie
560de55c3c Merge pull request #3495 from jumpserver/dev
Dev
2019-12-04 17:01:31 +08:00
BaiJiangJie
dd6e0f548c Merge pull request #3494 from jumpserver/dev_bai
[Update] 修改用户详情中审批人设置显示条件
2019-12-04 17:01:11 +08:00
BaiJiangJie
a07a90f1c9 [Update] 修改用户详情中审批人设置显示条件 2019-12-04 16:59:57 +08:00
BaiJiangJie
64642ab48b Merge pull request #3492 from jumpserver/dev
Dev
2019-12-04 15:49:02 +08:00
BaiJiangJie
12f51c9474 Merge pull request #3491 from jumpserver/dev_v
[Update] 修改版本号(1.5.5)
2019-12-04 15:24:49 +08:00
BaiJiangJie
50106474d4 [Update] 修改版本号(1.5.5) 2019-12-04 15:22:18 +08:00
BaiJiangJie
b3e2b30e71 Merge pull request #3488 from jumpserver/1.5.5
1.5.5
2019-12-04 12:33:03 +08:00
BaiJiangJie
7427f02e0b Merge pull request #3489 from jumpserver/bai_1.5.5
1.5.5(Merge dev)
2019-12-04 12:24:03 +08:00
BaiJiangJie
330c078597 [Update] Merge dev 2019-12-04 12:22:09 +08:00
BaiJiangJie
eb05588776 Merge pull request #3486 from jumpserver/dev
Dev
2019-12-04 11:14:43 +08:00
BaiJiangJie
98d3a36d98 Merge pull request #3485 from jumpserver/task_search
[Update] 修复任务列表页面无法搜索问题
2019-12-04 10:42:38 +08:00
jym503558564
fedf50f9dc [Update] 修复任务列表页面无法搜索问题 2019-12-03 15:31:42 +08:00
BaiJiangJie
1876b7dfba Merge pull request #3483 from jumpserver/gateway_search
[Update] 修复网关搜索报500错误;密码为空时,测试连接报500错误
2019-12-03 12:07:20 +08:00
BaiJiangJie
873d909879 Merge pull request #3449 from jumpserver/user_detail_template
[Update] 修改用户详情页中用户组标签不显示的问题
2019-12-03 12:06:32 +08:00
jym503558564
15b8a2efb9 [Update] 修改小问题 2019-12-03 12:03:18 +08:00
BaiJiangJie
45444149dd Merge pull request #3482 from jumpserver/domain_search
[Update] 修复网域列表页面无法搜索问题
2019-12-03 12:01:05 +08:00
jym503558564
a5485011c8 [Update] 修复网关搜索报500错误;密码为空时,测试连接报500错误 2019-12-03 11:24:12 +08:00
jym503558564
7c5592fa36 [Update] 修复网域列表页面无法搜索问题 2019-12-03 10:40:55 +08:00
ibuler
715b04e2b2 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-12-02 10:50:19 +08:00
ibuler
73086328e4 [Update] 去掉elfinder包 2019-12-02 10:49:58 +08:00
BaiJiangJie
7f126ab652 Merge pull request #3475 from jumpserver/dev_bai
[Update] 修改Dockerfile,安装 wheel 依赖
2019-11-29 19:13:56 +08:00
BaiJiangJie
5bcd122de9 [Update] 修改Dockerfile,安装 wheel 依赖 2019-11-29 19:13:02 +08:00
jym503558564
a92aec2775 Merge branch 'dev' into user_detail_template 2019-11-25 15:55:44 +08:00
jym503558564
cc9554cdb4 [Update] 修改用户详情页中添加用户组标签的显示条件是:当前组织的普通用户或组管理员 2019-11-25 15:30:11 +08:00
BaiJiangJie
100dd24ff5 Merge pull request #3457 from jumpserver/dev
Dev
2019-11-22 16:53:16 +08:00
BaiJiangJie
3a812c2267 Merge pull request #3456 from jumpserver/dev_bai
[Update] 发送重置密钥邮件时,清除用户公钥
2019-11-22 16:52:47 +08:00
BaiJiangJie
f47781a330 [Update] 发送重置密钥邮件时,清除用户公钥 2019-11-22 16:48:20 +08:00
BaiJiangJie
f96dd15f20 Merge pull request #3454 from jumpserver/1.5.5_bai
[Update] 修改工单管理列表可以按照类型排序 以及 日期显示格式
2019-11-22 16:17:51 +08:00
BaiJiangJie
ffdc1eb198 [Update] 修改工单管理列表可以按照类型排序 以及 日期显示格式 2019-11-22 16:16:29 +08:00
BaiJiangJie
91d1a62c98 Merge pull request #3453 from jumpserver/dev
Dev
2019-11-22 13:54:37 +08:00
BaiJiangJie
793adbccab Merge pull request #3452 from jumpserver/dev
Dev
2019-11-22 13:54:08 +08:00
BaiJiangJie
72ea036a29 Merge pull request #3451 from jumpserver/dev_bai
[Update] 删除 LDAP 查询时抛出的自定义异常类( LDAPOUGroupException),解决多有 OU 下导入用户时的问题
2019-11-22 13:53:25 +08:00
BaiJiangJie
9e322323f3 [Update] LDAP 分页获取 cookie 取值添加异常捕获 2019-11-22 13:52:29 +08:00
BaiJiangJie
6951f4dd97 [Update] 删除 LDAP 查询时抛出的自定义异常类( LDAPOUGroupException),解决多有 OU 下导入用户时的问题 2019-11-22 12:25:49 +08:00
jym503558564
54887a3460 [Update] 修改用户详情页中用户组标签不显示的问题 2019-11-20 17:27:49 +08:00
老广
dafe71af42 Merge pull request #3446 from jumpserver/dev
[Update] 修改jms
2019-11-20 14:47:12 +08:00
ibuler
82b9c2519b [Update] Merge it 2019-11-20 12:04:52 +08:00
ibuler
d563a11acf [Update] 修改jms 2019-11-20 11:57:53 +08:00
老广
c5438fd65d Merge pull request #3445 from jumpserver/dev
Dev
2019-11-20 10:26:34 +08:00
ibuler
66b8e59ae7 [Update] 修改nav 2019-11-19 15:49:41 +08:00
ibuler
e424315d93 [Update] 修改用户列表serializer 2019-11-19 15:25:28 +08:00
ibuler
4c801bb828 [Update] 修改用户列表 2019-11-19 15:23:19 +08:00
ibuler
1bba00412a [Update] 修改user list 页面字段宽度 2019-11-19 11:25:36 +08:00
ibuler
bf40aa8df0 [Update] 修改user list api 2019-11-19 11:20:26 +08:00
ibuler
0c349f9350 [Update] 更改翻译 2019-11-19 10:30:32 +08:00
ibuler
4dc5d7d70e [Update] 换做lazyproperty 2019-11-19 10:26:01 +08:00
ibuler
3fc30aa96c [Update] 修改tickets 2019-11-18 18:44:21 +08:00
ibuler
bb1349e962 [Update] 修改MFA 2019-11-18 18:12:03 +08:00
ibuler
c9ee8edeaf [Update] 修改mfa 2019-11-18 16:30:26 +08:00
ibuler
bfd8a9c66d [Update] 修改asset permission搜索 2019-11-18 15:18:47 +08:00
ibuler
030551d987 [Update] 工单提交 2019-11-18 12:14:16 +08:00
ibuler
2f4096bf3d [Update] 修改ticket 2019-11-18 11:54:12 +08:00
ibuler
ebe129b3c2 [Update] 修改工单 2019-11-15 18:55:35 +08:00
BaiJiangJie
61a8d6a5ca Merge pull request #3440 from jumpserver/dev_au
[Update] 资产用户列表支持模糊搜索
2019-11-15 15:03:27 +08:00
BaiJiangJie
c6e7872ba8 [Update] 资产用户列表支持模糊搜索 2019-11-15 14:58:43 +08:00
BaiJiangJie
096d4a4221 Merge pull request #3438 from jumpserver/dev_terminal
[Update] 修改终端注册条件判断逻辑(从 serializer -> view)
2019-11-15 12:20:08 +08:00
BaiJiangJie
9b5cb8b0c5 [Update] 限制通过 POST 方法调用 TerminalViewSet API 2019-11-15 12:11:58 +08:00
BaiJiangJie
bea5dadbac [Update] 修改终端注册条件判断逻辑(从 serializer -> view) 2019-11-15 11:56:51 +08:00
ibuler
18f8864720 [Update] public config 添加超时时间 2019-11-14 19:35:44 +08:00
ibuler
f71290d645 [Update] 左侧组织dropdown增加过滤 2019-11-14 15:38:22 +08:00
ibuler
e69d283af9 [Update] 增加过滤 2019-11-14 15:37:39 +08:00
ibuler
31f5b2c06c Merge remote-tracking branch 'origin/1.5.5' into 1.5.5 2019-11-14 14:54:20 +08:00
ibuler
611d5fc1fa [Update] Message可以关闭 2019-11-14 14:53:57 +08:00
ibuler
8dba54e7c5 [Update] 优化table页数 2019-11-14 12:12:34 +08:00
ibuler
2ef487a92f [Update] 修改收集用户 2019-11-14 11:46:42 +08:00
BaiJiangJie
aebf32d7be [Update] 删除 py-radius 依赖 2019-11-14 10:56:29 +08:00
BaiJiangJie
870e04feac [Update] 添加 py-radius 依赖 2019-11-13 18:46:22 +08:00
BaiJiangJie
4b2fbbfb84 [Update] 添加 MFA Radius py-radius 测试类 2019-11-13 18:44:59 +08:00
老广
0946645783 Merge pull request #3433 from jumpserver/dev
Dev
2019-11-13 17:04:01 +08:00
BaiJiangJie
f3d2e5d1b3 Merge pull request #3434 from jumpserver/dev_ldap
[Update] 修改设置 LDAP 同步任务在任务外部设置running状态
2019-11-13 16:46:46 +08:00
BaiJiangJie
6bfb026e47 [Update] 修改设置 LDAP 同步任务在任务外部设置running状态 2019-11-13 16:45:38 +08:00
ibuler
aa428b0299 [Update] 修改测试网关提示,不能包含特殊字符 2019-11-13 16:40:34 +08:00
BaiJiangJie
0a74602df3 [Update] 修改设置 LDAP 同步任务在任务外部设置running状态 2019-11-13 15:08:54 +08:00
ibuler
05e7311b0b Merge branch 'dev' into 1.5.5 2019-11-13 14:56:02 +08:00
ibuler
f40d51c84f Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-11-13 14:55:29 +08:00
ibuler
46a2311e30 [Update] 暂时关闭celery处理请求数量 2019-11-13 11:25:33 +08:00
BaiJiangJie
76e59f5bcd Merge pull request #3430 from jumpserver/dev_auth_info
[Update] 修改 sytem-user-asset-auth-info API 的权限(只允许 App)访问
2019-11-13 11:19:49 +08:00
BaiJiangJie
e731c01cc4 [Update] 修改 sytem-user-asset-auth-info API 的权限(只允许 App)访问 2019-11-13 11:18:29 +08:00
BaiJiangJie
6067dbcf21 Merge pull request #3429 from jumpserver/dev_auth_info
[Update] 修改获取系统用户-资产-认证信息API,添加 NeedMFAVerify 权限类
2019-11-12 19:04:14 +08:00
BaiJiangJie
4057064b7f [Update] 修改获取系统用户-资产-认证信息API,添加 NeedMFAVerify 权限类 2019-11-12 19:00:53 +08:00
BaiJiangJie
3f1e75c6f9 Merge pull request #3428 from jumpserver/1.5.5_bai
1.5.5 bai
2019-11-12 14:14:46 +08:00
BaiJiangJie
5434b65773 [Update] Merge branch dev to 1.5.5 2019-11-12 14:11:34 +08:00
ibuler
a01126c6c7 [Update] 修改radius MFA 2019-11-11 20:10:49 +08:00
BaiJiangJie
200ca65dc5 Merge pull request #3426 from jumpserver/dev_ldap2
Dev ldap2
2019-11-11 19:00:00 +08:00
BaiJiangJie
78a7bfbd30 [Update] 修复取消 LDAP 同步用户任务失败的问题 2019-11-11 18:50:05 +08:00
BaiJiangJie
fc58906bce [Update] 修改翻译信息 2019-11-11 18:15:25 +08:00
BaiJiangJie
e0d7a0e239 [Update] 重构 LDAP/AD 同步功能,添加缓存机制 4 2019-11-11 18:10:21 +08:00
BaiJiangJie
82077f4a0e [Update] 重构 LDAP/AD 同步功能,添加缓存机制 3 2019-11-11 18:05:32 +08:00
BaiJiangJie
c31b56ddd9 [Update] Merge local branch dev to dev_ldap2 2019-11-11 17:54:28 +08:00
BaiJiangJie
0a08ba3b9c [Update] 修改翻译信息 2019-11-11 17:50:46 +08:00
BaiJiangJie
2ea3ad4ca5 [Update] 重构 LDAP/AD 同步功能,添加缓存机制 2 2019-11-11 17:45:39 +08:00
老广
0d2fc27a97 Merge pull request #3420 from jumpserver/bugfix
Bugfix
2019-11-11 17:02:01 +08:00
ibuler
f53cf8d544 [Bugfix] 修复用户登陆工单 2019-11-11 16:43:09 +08:00
BaiJiangJie
596e5a6dd1 [Update] 重构 LDAP/AD 同步功能,添加缓存机制 2019-11-11 16:41:32 +08:00
ibuler
aeff0ab5f3 [Update] 修改public key 校验 2019-11-11 12:43:00 +08:00
ibuler
0b211d33b2 [Bugfix] 修复没有backend的问题 2019-11-11 11:54:32 +08:00
ibuler
f4136decde [Update] Stash 2019-11-11 11:37:34 +08:00
ibuler
74f22274b4 [Update] 修改登录验证 2019-11-11 10:58:11 +08:00
ibuler
9e4874834f [Update] 修改tickets 2019-11-08 20:17:25 +08:00
ibuler
bd323d608e [Update] 修改api 2019-11-08 16:32:00 +08:00
ibuler
f9e41d71dc [Update] 修改登录工单 2019-11-08 15:48:01 +08:00
ibuler
08775551c2 [Update] Rename app 2019-11-07 18:06:58 +08:00
ibuler
fb9e2ac9f6 [Update] 修改用户和用户组关系发生变化时,刷新权限 2019-11-06 17:18:39 +08:00
ibuler
edce831e46 [Update] 修改api 2019-11-06 16:59:54 +08:00
ibuler
12e1e559b5 [Update] 修改bug 2019-11-06 14:40:41 +08:00
ibuler
fa02e3fb75 [Update] Merge with bugfix 2019-11-06 14:38:06 +08:00
ibuler
ed5a57042a [Update] windows跳过手动输入密码 2019-11-06 14:28:49 +08:00
ibuler
6fbc4ce4fb [Update] MFA 2019-11-06 12:06:30 +08:00
ibuler
eedaaddbf5 [Update] 用户创建支持修改source 2019-11-06 11:57:00 +08:00
ibuler
bae4387068 [Update] tree出现滚动条 2019-11-05 19:44:34 +08:00
ibuler
8de863525a [Update] 修改消息 2019-11-05 19:05:29 +08:00
ibuler
6ce9815d51 [Update] 基本完成登录逻辑 2019-11-05 18:46:29 +08:00
ibuler
9d201bbf98 [Update] 修改 token api 2019-11-01 20:34:56 +08:00
BaiJiangJie
96adaca3c3 Merge pull request #3409 from jumpserver/dev
Dev
2019-11-01 20:21:17 +08:00
BaiJiangJie
cf65e9bfe3 Merge pull request #3408 from jumpserver/dev_nodes
[Update] 修复初始化 Default 节点的 Bug(原因:在其他组织下 Default 节点默认的 key 1 已经存在)
2019-11-01 20:20:55 +08:00
BaiJiangJie
b51ad05a4b [Update] 修复初始化 Default 节点的 Bug(原因:在其他组织下 Default 节点默认的 key 1 已经存在)5 2019-11-01 20:18:36 +08:00
BaiJiangJie
ca178c534e [Update] 修复初始化 Default 节点的 Bug(原因:在其他组织下 Default 节点默认的 key 1 已经存在)4 2019-11-01 20:02:34 +08:00
BaiJiangJie
d7948425df [Update] 修复初始化 Default 节点的 Bug(原因:在其他组织下 Default 节点默认的 key 1 已经存在)3 2019-11-01 19:45:56 +08:00
BaiJiangJie
a0be7333fb [Update] 修复初始化 Default 节点的 Bug(原因:在其他组织下 Default 节点默认的 key 1 已经存在)2 2019-11-01 19:41:28 +08:00
BaiJiangJie
fde8702916 [Update] 修复初始化 Default 节点的 Bug(原因:在其他组织下 Default 节点默认的 key 1 已经存在) 2019-11-01 19:38:56 +08:00
BaiJiangJie
bf0575b74d Merge pull request #3404 from jumpserver/dev
Dev
2019-11-01 15:13:45 +08:00
BaiJiangJie
3dfb2d6af2 Merge pull request #3405 from jumpserver/bugfix
[Update] 修改 AuthBook set_version / set_latest
2019-11-01 15:07:31 +08:00
ibuler
c25335cf95 [Update] 修改authbook 2019-11-01 14:52:37 +08:00
ibuler
ebbe49fab2 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-11-01 14:10:12 +08:00
ibuler
28ad362b8d [Update] 修改设置最新版本 2019-11-01 14:09:44 +08:00
BaiJiangJie
b595ac9bc5 Merge pull request #3403 from jumpserver/dev_ops
[Bugfix] 修复执行任务,没有保存 history 的问题
2019-10-31 18:45:30 +08:00
ibuler
11f0024c33 [Update] 添加登录复核开关 2019-10-31 18:43:47 +08:00
ibuler
dc3a9561c2 [Update] 基本完成登陆审核 2019-10-31 18:23:43 +08:00
BaiJiangJie
4f7ab69508 [Bugfix] 修复执行任务,没有保存 history 的问题 2019-10-31 18:05:52 +08:00
ibuler
23b777b23b Merge branch 'dev' into 1.5.5 2019-10-31 11:09:59 +08:00
ibuler
fe235823b4 [Update] 修改工单 2019-10-30 19:30:49 +08:00
老广
2afeba8b5f Merge pull request #3400 from jumpserver/dev
Dev
2019-10-30 13:24:15 +08:00
ibuler
87247da0ec [Bugfix] 修复获取数量是报错 2019-10-30 13:23:06 +08:00
ibuler
d0ba67ed50 [Update] 基本完成登录二次审核 2019-10-30 13:18:11 +08:00
BaiJiangJie
c163427db2 Merge pull request #3397 from jumpserver/dev_bai
Dev bai
2019-10-29 18:00:42 +08:00
BaiJiangJie
c7ecfd7943 [Bugfix] 修复当终端设置包含多个命令存储时,访问 /docs/ 页面错误的问题 2019-10-29 17:58:58 +08:00
BaiJiangJie
db5ff0f922 [Update] 修改用户 LDAP/AD Source 时排除 admin 用户 2019-10-29 16:37:25 +08:00
BaiJiangJie
c29381e657 Merge pull request #3395 from jumpserver/dev_loginlog
[Update] 登录日志导出按照组织进行过滤
2019-10-29 12:30:56 +08:00
BaiJiangjie
ff62968bf6 [Update] 登录日志导出按照组织进行过滤 2019-10-29 12:29:15 +08:00
BaiJiangJie
4e1e60046a Merge pull request #3392 from jumpserver/api_key_table
[Update] 修改api_key_table显示不友好问题
2019-10-28 17:24:16 +08:00
jym503558564
82c4705350 [Update] 修改api_key_table显示不友好问题 2019-10-28 17:21:28 +08:00
ibuler
517c682201 [Update] 修改登录路基 2019-10-25 19:20:28 +08:00
BaiJiangJie
bf92b61b78 Merge pull request #3389 from jumpserver/dev
Dev
2019-10-25 18:08:00 +08:00
BaiJiangJie
f6d2ac9b7b Merge pull request #3388 from jumpserver/dev_bai
[Update] 优化 config_example.py 中 AUTH_LDAP 配置项
2019-10-25 17:48:12 +08:00
BaiJiangJie
98a8ef1526 [Update] 优化 config_example.py 中 AUTH_LDAP 配置项 2019-10-25 17:46:26 +08:00
BaiJiangJie
4167987d67 Merge pull request #3387 from jumpserver/dev_ldap
[Update] LDAP 认证添加配置项 OPT_REFERRALS(解决问题: In order to perform this op…
2019-10-25 17:29:54 +08:00
BaiJiangJie
ef41ba3117 [Update] LDAP 认证添加配置项 OPT_REFERRALS(解决问题: In order to perform this operation a successful bind must be completed on the connection) 2019-10-25 17:09:22 +08:00
ibuler
458bee9a19 Merge branch 'dev' into 1.5.5 2019-10-25 15:33:02 +08:00
ibuler
d22f60364a [Update] 修改js 2019-10-25 12:52:21 +08:00
ibuler
90321ab68c [Update] 修改js 2019-10-25 12:50:48 +08:00
ibuler
a5814c8100 [Update] 修改js 2019-10-25 12:49:22 +08:00
ibuler
87fd342b68 [Update] 修改model 2019-10-25 12:35:38 +08:00
ibuler
d544f7f936 Merge branch 'dev' into 1.5.5 2019-10-25 12:13:14 +08:00
ibuler
fbe4f4c119 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-10-25 12:10:46 +08:00
ibuler
4d53b6f078 [Update] 去掉debug信息 2019-10-25 12:09:27 +08:00
ibuler
d2c65dd783 [Update] 修改table过滤 2019-10-25 12:08:49 +08:00
ibuler
0c1463bc8b [Update] 修改支持工单 2019-10-25 11:27:50 +08:00
BaiJiangJie
39b4145868 Merge pull request #3385 from jumpserver/dev_char
[Update] 修改主机名/系统用户名称/组织名称的特殊字符限制(修改为特殊字符黑名单)[/ \]
2019-10-25 11:17:45 +08:00
BaiJiangJie
a57df0e05f [Update] 修改主机名/系统用户名称/组织名称的特殊字符限制(修改为特殊字符黑名单)[/ \] 2019-10-25 10:55:28 +08:00
BaiJiangJie
36d98a237f [Update] 资产授权 Action 添加 Help text (#3383)
* [Update] 资产授权 Action 添加 Help text

* [Update] 资产授权 Action 添加 Help text(修改翻译)
2019-10-24 18:35:03 +08:00
ibuler
cf719f492d [Update] 修改user group relations api 2019-10-24 14:36:01 +08:00
BaiJiangJie
69bcf3de2e Merge pull request #3381 from jumpserver/dev
Dev
2019-10-24 12:43:05 +08:00
BaiJiangJie
d3cf2afb51 Merge pull request #3380 from jumpserver/dev_req
[Update] 更新依赖版本号
2019-10-24 12:27:04 +08:00
BaiJiangJie
3c5ebeeb20 [Update] 更新依赖版本号 2019-10-24 12:23:39 +08:00
BaiJiangJie
58f564b028 Merge pull request #3379 from jumpserver/dev
Dev
2019-10-24 12:22:25 +08:00
BaiJiangJie
8fd65a372e Merge pull request #3378 from jumpserver/dev_req
[Update] 更新依赖包版本
2019-10-24 12:10:49 +08:00
BaiJiangJie
f8f1aee997 [Update] 更新依赖包版本 2019-10-24 12:08:48 +08:00
ibuler
9bb7c1adc1 [Update] 更改命令执行超时提示 2019-10-24 10:23:31 +08:00
ibuler
d5cb0a2e59 [Update] Merge with dev 2019-10-23 15:25:06 +08:00
BaiJiangJie
7c4dee324f Merge pull request #3377 from jumpserver/dev
Dev
2019-10-23 15:25:04 +08:00
BaiJiangJie
4c1821e42e Merge pull request #3376 from jumpserver/dev_v
[Update] 修改版本号(1.5.4)
2019-10-23 15:23:57 +08:00
BaiJiangJie
f31ed0afb8 [Update] 修改版本号(1.5.4) 2019-10-23 15:20:56 +08:00
BaiJiangJie
5e5f3ad383 Merge pull request #3375 from jumpserver/dev
[Update] Add debug message
2019-10-23 15:18:35 +08:00
ibuler
f802fb645d [Update] Add debug message 2019-10-23 11:01:39 +08:00
老广
93e8c9e534 Merge pull request #3374 from jumpserver/dev
Dev
2019-10-23 10:17:45 +08:00
老广
0b405fdefa Merge pull request #3373 from jumpserver/bugfix
Bugfix
2019-10-23 10:17:09 +08:00
ibuler
c995050ed7 [Update] 修改ws read celery log file 2019-10-23 10:14:07 +08:00
ibuler
0dbf2ab2e5 [Update] 修改websocket读取日志 2019-10-22 19:45:03 +08:00
老广
22cc8ffbdd Merge pull request #3370 from jumpserver/bugfix
Bugfix
2019-10-22 19:33:01 +08:00
ibuler
6b8b0f4a0b [Update] 修改terminal字体 2019-10-22 19:30:53 +08:00
ibuler
b3502a9291 [Update] 修改terminal字体 2019-10-22 19:30:39 +08:00
BaiJiangJie
1c92516fd0 Merge pull request #3369 from jumpserver/dev
Dev
2019-10-22 19:11:55 +08:00
BaiJiangJie
c3f02dbaab Merge pull request #3368 from jumpserver/dev_icon
[Update] 修改icon图片
2019-10-22 19:11:11 +08:00
jym503558564
214c4d2f75 [Update] 修改icon图片 2019-10-22 19:07:23 +08:00
BaiJiangJie
5a98b61c1e Merge pull request #3367 from jumpserver/dev
Dev
2019-10-22 18:57:39 +08:00
BaiJiangJie
11ae5a4a4a Merge pull request #3365 from jumpserver/login_log_bugfix
[Bugfix] 修改导出登录日志的日期选择从开始时间的00:00:00,到结束时间的23:59:59
2019-10-22 17:43:57 +08:00
BaiJiangJie
5f3583279c [Update] 优化登录日志时间范围 2 2019-10-22 17:42:28 +08:00
BaiJiangJie
950358f5ba [Update] 优化登录日志时间范围 2019-10-22 17:40:55 +08:00
BaiJiangJie
84b3e29db6 Merge pull request #3366 from jumpserver/bugfix
Bugfix
2019-10-22 17:30:22 +08:00
ibuler
a33d5cc53b [Update] 修改返回asset tree带上组织 2019-10-22 17:21:54 +08:00
jym503558564
3c7fa1b60b [Update] 修改小问题 2019-10-22 16:26:46 +08:00
jym503558564
f4fc757379 [Bugfix] 修改导出登录日志的日期选择从开始时间的00:00:00,到结束时间的23:59:59 2019-10-22 16:17:42 +08:00
ibuler
7cf617c3fc [Update] 修改jms启动脚本,stop时增加超时检测 2019-10-22 16:09:21 +08:00
ibuler
87deb18791 [Update] 修改command 批量执行左侧选择系统用户 2019-10-22 15:53:24 +08:00
ibuler
82a6369568 [Update] 修改term大小 2019-10-22 15:38:49 +08:00
ibuler
3a10fd4160 [Update] 修改查看auth info可以关闭mfa 2019-10-22 12:16:50 +08:00
ibuler
a2f8f43321 [Update] 修改查看auth info可以关闭mfa 2019-10-22 11:31:15 +08:00
ibuler
6ebe8e16bd [Update] 修改读取日志时可能解码失败 2019-10-21 19:28:33 +08:00
ibuler
86522627d3 [Update] 优化提交api报错时滚动到,优化table页面某些列宽度 2019-10-21 19:07:35 +08:00
BaiJiangJie
334e3bef0e Merge pull request #3363 from jumpserver/dev_ug
[Update] 优化用户组详情,用户选择下拉列表使用异步加载;命令过滤详情绑定到系统用户点击不关闭;
2019-10-21 18:46:43 +08:00
BaiJiangJie
0930716a54 [Update] 优化用户组详情,用户选择下拉列表使用异步加载;命令过滤详情绑定到系统用户点击不关闭; 2019-10-21 18:45:12 +08:00
ibuler
f984acf1b2 [Bugfix] 修复导致favorite 和 empty 同时出现 2019-10-21 17:14:49 +08:00
ibuler
87c7452d19 [Update] 修改email msg 2019-10-21 17:02:16 +08:00
ibuler
792fc3b0f0 [Update] 添加koko访问错误说明 2019-10-21 15:29:26 +08:00
ibuler
673ebbec1b [Update] Merge with dev 2019-10-21 15:19:21 +08:00
ibuler
c2f78b1170 [Update] 修改jumpserver,支持url前缀 2019-10-21 15:15:47 +08:00
BaiJiangJie
20f8c12576 Merge pull request #3358 from jumpserver/dev
Dev
2019-10-18 18:52:07 +08:00
BaiJiangJie
1bc6492064 Merge pull request #3359 from jumpserver/dev_fav
[Update] 优化收藏资产功能,不刷新页面的情况下,可以在收藏资产列表取消收藏
2019-10-18 18:07:32 +08:00
BaiJiangJie
a7ae132b2b [Update] 优化收藏资产功能,不刷新页面的情况下,可以在收藏资产列表取消收藏 2019-10-18 18:06:07 +08:00
BaiJiangJie
a978bf990d Merge pull request #3342 from jumpserver/perms_assets_search_bug
[Bugfix] 修复资产授权列表搜索 【node:node_name】/【node_id:node_id】/【is_valid:false】 出现500错误
2019-10-18 16:21:26 +08:00
BaiJiangJie
491f59026c Merge pull request #3356 from jumpserver/dev_tree
[Bugfix] 修复 TreeNode bug
2019-10-18 15:25:43 +08:00
BaiJiangJie
a6531fedb5 [Bugfix] 修复 TreeNode bug 2019-10-18 15:23:46 +08:00
BaiJiangJie
e5250294b0 Dev export (#3355)
* [Update] 修复导出资产csv文件为空的问题

* [Update] 修改获取系统用户 API 只返回节点数量
2019-10-18 15:12:17 +08:00
BaiJiangJie
f3dc9b886b Asset favor (#3352)
* [Update] 拆分filter org

* [Update] 修改session支持protocol搜索

* [Bugfix] 修复判断问题

* [Update] 支持收藏资产

* [update] 修改org resource queryset

* [Update] 修改form serializer 对应的多对多字段

* [Bugfix] 修复其他组织取消收藏的bug

* [Update] 去掉debug信息

* [Update] 修改remote app get queryset

* [Update] 修改remote app get queryset

* [Update] 修改没有授权时显示情况

* [Bugfix] 修复组织管理员查看用户权限失败问题

* [Update] 优化forms assets queryset设置
2019-10-18 15:05:45 +08:00
jym503558564
70664d435f [Update] 修改小问题 2019-10-17 11:59:18 +08:00
jym503558564
ee97144a10 [Bugfix] 修复资产授权列表 节点搜索报500错误 2019-10-17 11:03:06 +08:00
ibuler
9870d3aa85 [Bugfix] 修复判断问题 2019-10-16 15:31:48 +08:00
ibuler
c3699889e2 [Update] 修改session支持protocol搜索 2019-10-16 15:29:44 +08:00
ibuler
237d51cff9 [Update] 拆分filter org 2019-10-16 13:31:42 +08:00
BaiJiangJie
ccdb770972 Merge pull request #3344 from jumpserver/dev_ug
[Update] 更新创建/更新用户组是取消按钮->重置按钮(避免引起歧义)
2019-10-15 17:41:12 +08:00
BaiJiangJie
8fcfcf7ad3 [Update] 更新创建/更新用户组是取消按钮->重置按钮(避免引起歧义) 2019-10-15 17:38:48 +08:00
ibuler
31280a3869 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-10-15 16:27:39 +08:00
ibuler
70a4f137b8 [Update] 添加脚本 2019-10-15 16:27:22 +08:00
jym503558564
01ead7c8e1 [Bugfix] 修复资产授权列表搜索 无效的 出现500错误 2019-10-15 12:41:29 +08:00
BaiJiangJie
ad3524f942 Merge pull request #3337 from jumpserver/dev_cmds_es
[Bugfix] 修复命令记录从 es 中获取失败(原因:时间日期格式不匹配)
2019-10-14 16:02:35 +08:00
BaiJiangJie
1a1f20920d [Bugfix] 修改终端命令类型 MAPPING(elasticsearch -> es) 2019-10-14 15:15:06 +08:00
BaiJiangJie
b4d164954d [Bugfix] 修复命令记录从 es 中获取失败(原因:时间日期格式不匹配) 2019-10-14 11:59:24 +08:00
ibuler
52d0961519 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-10-14 11:37:31 +08:00
ibuler
e093475351 [Update] 修改jms stop 2019-10-14 11:37:13 +08:00
BaiJiangJie
13822cbf6d Merge pull request #3334 from jumpserver/dev_su_asset
[Bugfix] 修改调用系统用户资产 API 时 Connectivity is not JSON serializable 的 Bug
2019-10-12 18:14:59 +08:00
BaiJiangJie
b732f4e32c [Bugfix] 修改调用系统用户资产 API 时 Connectivity is not JSON serializable 的 Bug 2019-10-12 18:00:40 +08:00
BaiJiangJie
c0d1bf8ecc Merge pull request #3332 from jumpserver/dev_char
[Update] 限制 组织和系统用户 名称中使用的特殊字符
2019-10-12 17:42:57 +08:00
BaiJiangJie
1f5cdc3fa4 [Update] 添加翻译: 限制 组织/系统用户名称 中的特殊字符 2019-10-12 17:42:00 +08:00
BaiJiangJie
21b17ca41a [Update] 系统用户 name 限制使用特殊字符 2019-10-12 17:05:49 +08:00
BaiJiangJie
70713af95a [Update] 限制组织名称中使用的特殊字符 2019-10-12 16:51:09 +08:00
BaiJiangJie
2f2b0b28b3 Merge pull request #3325 from jumpserver/dev_assets
[Bugfix] 修复组织管理员在资产详情页面不显示(删除/更新)按钮的问题
2019-10-11 11:41:37 +08:00
BaiJiangJie
7574966ccf [Bugfix] 修复组织管理员在资产详情页面不显示(删除/更新)按钮的问题 2019-10-11 11:22:11 +08:00
BaiJiangJie
3986bbf7ac Merge pull request #3323 from jumpserver/dev_nodes
[Update] 优化节点删除 API,返回删除失败原因(包含子节点或资产)
2019-10-10 18:06:47 +08:00
BaiJiangJie
4102dc6842 Merge pull request #3324 from jumpserver/dev_ldap
[Update] LDAP 登录认证添加配置项:只有在用户列表中的用户会被允许认证
2019-10-10 18:05:41 +08:00
BaiJiangJie
d1dc3342a2 [Update] 配置项 AUTH_LDAP_USER_LOGIN_ONLY_IN_USERS 添加到 config_example.yml 中 2019-10-10 18:04:31 +08:00
BaiJiangJie
dfedfc7e7a [Update] LDAP 登录认证添加配置项:只有在用户列表中的用户会被允许认证 2019-10-10 17:53:22 +08:00
BaiJiangJie
7ff6391801 [Update] 修改删除节点 API 返回的状态码 2019-10-10 16:59:57 +08:00
BaiJiangJie
5f96f8c229 [Update] 优化节点删除 API,添加删除失败原因 2019-10-10 16:18:29 +08:00
老广
7e7583e4fc Merge pull request #3321 from jumpserver/bugfix
[Update] 修改celery log
2019-10-10 12:50:13 +08:00
ibuler
74b4ff4993 [Update] 修改celery log 2019-10-10 12:47:21 +08:00
BaiJiangJie
ca50c0a9b3 Merge pull request #3319 from jumpserver/dev_muiltselect
[Update] 更新 select2 js/css 依赖版本(4.0.10):解决多选下拉框自动回跳到顶部的问题
2019-10-10 11:27:59 +08:00
BaiJiangJie
cea6ea4826 [Update] 更新 select2 js/css 依赖版本(4.0.10):解决多选下拉框自动回跳到顶部的问题 2019-10-10 11:22:09 +08:00
BaiJiangJie
3bd3564b2b Merge pull request #3317 from jumpserver/bugfix
Bugfix
2019-10-09 19:13:25 +08:00
ibuler
9ee9be3339 Merge remote-tracking branch 'origin/bugfix' into bugfix 2019-10-09 19:10:54 +08:00
ibuler
ce530e417c [Update] 修改cmd filter rules pattern 2019-10-09 19:10:36 +08:00
BaiJiangJie
c8cade622a [Update] 优化 LDAP 导入/搜索 逻辑 2019-10-09 18:36:38 +08:00
BaiJiangJie
f65ee12b16 Merge pull request #3316 from jumpserver/dev
Dev
2019-10-09 17:32:02 +08:00
BaiJiangJie
230b3edf7b Merge pull request #3315 from jumpserver/dev_bai
[Update] 更新定时测试管理用户可连接性 PERIOD_TASK_ENABLED 判断
2019-10-09 17:24:20 +08:00
BaiJiangJie
670e8afe76 [Update] 更新定时测试管理用户可连接性 PERIOD_TASK_ENABLED 判断 2019-10-09 17:23:22 +08:00
ibuler
e52178811c [Update] 修改command显示 2019-10-09 16:52:38 +08:00
ibuler
74ab311d3e [Update] 修改ldap和command 2019-10-09 16:49:36 +08:00
老广
719bea683a Merge pull request #3313 from jumpserver/dev
Dev
2019-10-09 10:50:12 +08:00
ibuler
dc5598f8dc [Update] 修改settings 2019-10-09 10:43:51 +08:00
ibuler
c6fef20390 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-10-08 19:14:43 +08:00
ibuler
87d5b6c473 [Update] 修改启动脚本 2019-10-08 19:14:23 +08:00
ibuler
6b377ec5ef [Update] 修改启动脚本 2019-10-08 18:17:48 +08:00
BaiJiangJie
aebb98189c Merge pull request #3311 from jumpserver/dev_email
[Update] 邮件设置添加测试邮件收件人配置项
2019-10-08 17:27:49 +08:00
BaiJiangJie
c9ca81e80f [Update] 邮件设置添加测试邮件收件人配置项 2019-10-08 17:14:33 +08:00
BaiJiangJie
90ec6a2962 [Bugfix] 修复创建资产节点的Bug (#3308) 2019-10-08 11:57:22 +08:00
BaiJiangJie
7502a372b5 Merge pull request #3299 from jumpserver/master_readme
[Update] 删除 README 访问量统计图标信息
2019-09-29 12:15:19 +08:00
BaiJiangJie
d366b711da [Update] 删除 README 访问量统计图标信息 2019-09-29 12:14:11 +08:00
BaiJiangJie
16d2b0f1f3 Merge pull request #3298 from jumpserver/dev_readme
[Update] 删除 README 访问量统计图标信息
2019-09-29 12:13:03 +08:00
BaiJiangJie
87e485bfe2 [Update] 删除 README 访问量统计图标信息 2019-09-29 12:11:52 +08:00
BaiJiangJie
2f48595cd8 Merge pull request #3295 from jumpserver/dev_ldap_sync_timing
[Feature] LDAP/AD 添加定时同步任务
2019-09-27 18:31:40 +08:00
BaiJiangJie
fa1a167f8e [Feature] 添加同步 LDAP/AD 用户的定时任务3 2019-09-27 18:30:13 +08:00
BaiJiangJie
8b7c5b1545 [Feature] 添加同步 LDAP/AD 用户的定时任务2(添加同步参数配置项) 2019-09-27 18:19:19 +08:00
ibuler
44f8b978f9 [Update] 添加failover ws 2019-09-27 17:48:54 +08:00
BaiJiangJie
8081a864da Merge branch 'dev' into dev_ldap_sync_timing 2019-09-27 16:56:52 +08:00
BaiJiangJie
674731f7d9 Merge pull request #3294 from jumpserver/dev
Dev
2019-09-27 16:25:58 +08:00
ibuler
1a82b8586d [Update] 修改 access key文档地址引用 2019-09-27 15:40:56 +08:00
BaiJiangJie
892e0562b7 Merge pull request #3293 from jumpserver/bugfix
[Update] 表单中用户使用异步
2019-09-27 14:38:51 +08:00
ibuler
9e12f3cd17 [Update] 表单中用户使用异步 2019-09-27 14:18:51 +08:00
BaiJiangJie
4b7cd79682 [Feature] 添加同步 LDAP/AD 用户的定时任务1 2019-09-27 14:04:10 +08:00
ibuler
ed5b2f8bf8 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-09-27 10:36:25 +08:00
ibuler
d85c893e3a [update] 修改默认监听的端口 2019-09-27 10:36:06 +08:00
ibuler
2c46707c2b [Update] 修改websocket监听端口 2019-09-27 10:20:20 +08:00
BaiJiangJie
2ff295e3b2 Merge pull request #3292 from jumpserver/dev_bai
[Update] LDAP 搜索添加分页配置
2019-09-26 19:23:12 +08:00
ibuler
c96d165d3f Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-09-26 19:22:32 +08:00
老广
cff009e758 Support ws (#3291)
* [Update] add ws support

* [Update] 修改log使用websocket

* [Update] 修复 资产用户 右侧动作菜单,字体颜色

* [Update] 修改Dockerfile

* [Bugfix] 修复settings中WSG_APPLICATION
2019-09-26 19:22:17 +08:00
BaiJiangJie
e3c68071b9 [Update] Merge local branch dev to dev_bai 2019-09-26 19:21:15 +08:00
BaiJiangJie
ffc8ddd92e Merge pull request #3289 from jumpserver/v52_ldap_page
V52 LDAP Page
2019-09-26 19:15:28 +08:00
BaiJiangJie
587e3fdd74 [Update] LDAP 搜索分页配置默认值修改为1000 2019-09-26 19:02:26 +08:00
BaiJiangJie
e4ecb19e38 [Update] LDAP 测试连接性也使用分页配置 2019-09-26 18:58:39 +08:00
BaiJiangJie
25fcbf37c3 [Update] LDAP 导入搜索添加分页配置 2019-09-26 18:55:20 +08:00
ibuler
408b27c561 [Update] Add krb-devel 2019-09-26 16:35:56 +08:00
ibuler
e35ba52236 [Update] 修改jms-storage依赖版本 2019-09-26 15:50:41 +08:00
ibuler
b75c525df7 [Update] 添加到 gcc到依赖,避免忘记安装 2019-09-26 15:42:46 +08:00
ibuler
77682611c1 [Update] 添加到wget gcc到依赖,避免忘记安装 2019-09-26 15:42:13 +08:00
ibuler
865cc30d16 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-09-26 15:09:21 +08:00
老广
c75fd3c108 Bugfix (#3286)
* [Update] 用户资产页面链接是 新窗口打开

* [Bugfix] 修复切换组织时, refer为空导致的bug

* [Update] 修复执行命令时报错

* [Bugfix] 修复用户树节点资产数量不对的问题

* [Update] 修改初始化tree
2019-09-26 15:09:10 +08:00
老广
8387c8dbe4 Merge pull request #3285 from jumpserver/dev
Bugfix (#3284)
2019-09-26 10:33:15 +08:00
ibuler
4b322fe9f6 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-09-26 10:32:49 +08:00
老广
f87db2f4fc Bugfix (#3284)
* [Update] 用户资产页面链接是 新窗口打开

* [Bugfix] 修复切换组织时, refer为空导致的bug

* [Update] 修复执行命令时报错
2019-09-26 10:32:39 +08:00
ibuler
78aba7ae87 [Update] 用户资产页面链接是 新窗口打开 2019-09-25 18:08:58 +08:00
老广
91f64eccda Merge pull request #3283 from jumpserver/dev
Dev
2019-09-25 17:23:00 +08:00
八千流
3c12c33911 [Update] 修改当仅是当前组织审计员时,隐藏终断会话按钮 (#3275)
* [Update] 修改会话列表中终断按钮,批量终断,SessionViewSet 的权限控制
2019-09-25 16:58:40 +08:00
老广
118fc8c42f Dev beta (#3281)
* [Update] 修改发送command日志

* [Update] 修复用户树显示资产数量不对的bug
2019-09-25 16:31:58 +08:00
老广
9f56ac8a21 [Update] 修改可能导致的树创建问题 (#3280) 2019-09-25 16:31:18 +08:00
BaiJiangJie
a8c2a348aa Merge pull request #3279 from jumpserver/dev_asset
[Update] 修改资产主机名匹配正则表达式
2019-09-25 15:31:21 +08:00
BaiJiangJie
d7bc8516ff [Update] 修改资产主机名允许输入中文3 2019-09-25 15:29:59 +08:00
BaiJiangJie
26ef7b7be3 [Update] 修改资产主机名允许输入中文 (#3278)
* [Update] 修改资产主机名允许输入中文

* [Update] 修改资产主机名允许输入中文2
2019-09-25 15:14:43 +08:00
老广
d3d72f85fd [Update] 修改启动的参数,修改inventory参数名称 (#3276) 2019-09-25 14:40:19 +08:00
BaiJiangJie
40ce9256fc Merge pull request #3274 from jumpserver/v52
V52
2019-09-25 12:38:08 +08:00
BaiJiangJie
a6d87f6de4 Merge pull request #3273 from jumpserver/v52_ldap
[Bugfix] 修复 LDAP 用户导入会重复显示的问题(场景:AD 用户在多个 OU 下面)
2019-09-25 12:37:27 +08:00
BaiJiangJie
b2836b9f4f [Bugfix] 修复 LDAP 用户导入会重复显示的问题(场景:AD 用户在多个 OU 下面) 2019-09-25 12:34:12 +08:00
BaiJiangJie
09565375b5 Merge pull request #3260 from jumpserver/dev
Dev
2019-09-24 18:42:16 +08:00
BaiJiangJie
864bcb27ca Merge pull request #3270 from jumpserver/dev_v52
Dev v52
2019-09-24 18:19:26 +08:00
ibuler
47abac000e [Merge] with v52 2019-09-24 18:17:44 +08:00
BaiJiangJie
326f2160d5 Merge pull request #3268 from jumpserver/v52_bugfix
[Update] 修复密码匣子的bug
2019-09-24 18:11:52 +08:00
ibuler
0a13b4bb99 [Update] 修复密码匣子的bug 2019-09-24 18:06:50 +08:00
BaiJiangJie
02087e00fa Merge pull request #3267 from jumpserver/dev_ra
[Update] 优化用户授权 RemoteApp API 逻辑
2019-09-24 16:38:36 +08:00
BaiJiangJie
e805e9cede [Update] 优化用户授权的 RemoteApp API 过滤逻辑 2019-09-24 16:36:46 +08:00
BaiJiangJie
3f9e2f0af7 [Bugfix] 用户远程应用页面,连接远程应用传递 type 参数 2019-09-24 16:16:52 +08:00
BaiJiangJie
ffb4a26215 Merge pull request #3266 from jumpserver/bugfix
[Update] 修改正则表达式
2019-09-24 15:31:03 +08:00
ibuler
5055a9f352 [Update] 修改获取资产的逻辑 2019-09-24 15:18:12 +08:00
ibuler
28afd1f6f9 [Update] 修改正则表达式 2019-09-24 15:00:32 +08:00
BaiJiangJie
11f710b30a Merge pull request #3265 from jumpserver/dev_v
[Update] 修改版本号
2019-09-24 13:13:58 +08:00
BaiJiangJie
b8b4cc2621 [Update] 修改获取 jumpserver.js 的递增值 2019-09-24 13:12:39 +08:00
BaiJiangJie
0078089cdf [Update] 修改版本号 1.5.3 2019-09-24 13:05:43 +08:00
BaiJiangJie
715c9a1242 Merge pull request #3264 from jumpserver/dev_bai
Dev bai
2019-09-24 11:40:56 +08:00
BaiJiangJie
d5af966623 [Update] Merge branch 'master' into dev_bai 2019-09-24 11:39:43 +08:00
BaiJiangJie
cbfcc75c82 Merge pull request #3263 from jumpserver/dev_bugfix
[Bugfix] 修复资产授权规则去重
2019-09-24 11:36:41 +08:00
BaiJiangJie
08a19550b2 [Bugfix] 修复资产授权规则去重 2019-09-24 11:35:57 +08:00
BaiJiangJie
ec0cf38c3c Merge pull request #3262 from jumpserver/dev_trans
Dev trans
2019-09-24 11:14:27 +08:00
BaiJiangJie
62e21d9fc0 [Update] 添加翻译 2019-09-24 11:13:37 +08:00
BaiJiangJie
e7cafe86d1 [Update] 添加 js 翻译 2019-09-24 11:10:02 +08:00
BaiJiangJie
df429d56d5 V52 (#3158) (#3261)
* [Update] 优化切换组织时重定向页面逻辑 (#3133)

* [Update] 优化切换组织时重定向页面逻辑

* [Update] 优化切换组织时重定向页面逻辑 2

* [Update] WebTerminal 跳转添加时间戳

* [Update] 修复创建授权规则授权节点时,系统用户不自动推送的问题
2019-09-24 10:57:27 +08:00
BaiJiangJie
39dfbc734e [Bugfix] 修复页面中点击删除按钮时,提示 name 信息为 undefined 的问题 (#3259)
* [Bugfix] 修复页面中点击删除按钮时,提示 name 信息为 undefined 的问题

* [Bugfix] 修复页面中点击删除按钮时,提示 name 信息为 undefined 的问题 2
2019-09-23 20:36:49 +08:00
BaiJiangJie
9428c186b3 Merge pull request #3258 from jumpserver/dev_ak
Dev ak
2019-09-23 20:13:06 +08:00
BaiJiangJie
6db57424aa [Bugfix] 修改 API key table 的前端变量名 ak_table 2019-09-23 20:11:48 +08:00
BaiJiangJie
7dc8b128d6 [Bugfix] 修复 API Key table 加载时报错(在日志审计模块中) 2019-09-23 20:05:01 +08:00
BaiJiangJie
0ed08c2f4c [Update] 修改 API Key 页面显示布局 2019-09-23 19:43:47 +08:00
BaiJiangJie
afdf0062eb Merge pull request #3257 from jumpserver/dev_perms
[Update] 添加资产授权规则 generate_fake 方法
2019-09-23 18:37:10 +08:00
BaiJiangJie
fad842a8a0 [Update] 添加资产授权规则 generate_fake 方法 2019-09-23 18:36:02 +08:00
BaiJiangJie
02944d407c Merge pull request #3256 from jumpserver/dev_i18n
[Update] 添加翻译
2019-09-23 16:50:03 +08:00
BaiJiangJie
ddb34a0f59 [Update] 添加翻译 2019-09-23 16:48:59 +08:00
BaiJiangJie
1603d0f146 Merge pull request #3254 from jumpserver/dev_hostname
[Update] 资产主机名提示、限制不被允许的特殊字符
2019-09-23 16:40:06 +08:00
BaiJiangJie
1cba714b00 [Update] 资产主机名提示、限制不被允许的特殊字符 2019-09-23 16:37:08 +08:00
BaiJiangJie
ef122ec169 Merge pull request #3253 from jumpserver/dev_session
[Update] Session protocol 添加 telnet 选项
2019-09-23 15:35:56 +08:00
BaiJiangJie
b5f94d84f7 [Update] Session protocol 添加 telnet 选项 2019-09-23 15:31:09 +08:00
ibuler
471ed51360 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-09-23 14:42:03 +08:00
ibuler
86c5a0ba8b [Update] 去掉一些filter 2019-09-23 14:41:34 +08:00
BaiJiangJie
6f4d7dd6c6 Merge pull request #3251 from jumpserver/dev_bugfix
[Bugfix] 修复改密计划菜单不高亮的问题
2019-09-23 10:46:31 +08:00
BaiJiangJie
76e2f750ce [Bugfix] 修复改密计划菜单不高亮的问题 2019-09-23 10:45:28 +08:00
ibuler
f15dc881b6 [Update] 修改requirements 2019-09-20 21:05:11 +08:00
BaiJiangJie
fa7150850f Merge pull request #3243 from jumpserver/gather_asset_user
[Feature] 收集资产用户
2019-09-20 12:41:04 +08:00
ibuler
6fc666e60d [Update] 优化获取系统用户 2019-09-19 22:12:53 +08:00
ibuler
89fa0658e1 [Update] 修改任务执行 2019-09-19 21:21:05 +08:00
ibuler
847e37e641 [Update] 修改一些bug 2019-09-19 17:27:49 +08:00
ibuler
b7021b5ecb [Update] 支持收集资产上的用户 2019-09-19 14:48:25 +08:00
ibuler
5464c884db [Update] 修改swagger 2019-09-18 22:06:46 +08:00
BaiJiangJie
dea9151abd Merge pull request #3242 from jumpserver/v52_config
[Update] OpenID 认证共享session配置默认值修改为 True
2019-09-18 20:23:24 +08:00
BaiJiangJie
737f0bc512 Merge pull request #3241 from jumpserver/dev_config
[Update] OpenID 认证共享session配置默认值修改为 True 2
2019-09-18 20:22:35 +08:00
BaiJiangJie
36d8eebecf [Update] OpenID 认证共享session配置默认值修改为 True 2 2019-09-18 20:20:52 +08:00
BaiJiangJie
ecd3317428 [Update] OpenID 认证共享session配置默认值修改为 True 2019-09-18 20:19:30 +08:00
BaiJiangJie
fe5dfcf73f Merge pull request #3240 from jumpserver/dev_config
[Update] OpenID 认证共享session配置默认值修改为 True
2019-09-18 20:17:12 +08:00
BaiJiangJie
9bfee3fce2 [Update] OpenID 认证共享session配置默认值修改为 True 2019-09-18 20:14:49 +08:00
BaiJiangJie
c4bd35bb8a Merge pull request #3239 from jumpserver/dev_ra
[Update] 远程应用授权列表添加系统用户数量显示
2019-09-18 18:40:52 +08:00
BaiJiangJie
9925a270e1 [Update] 远程应用授权列表添加系统用户数量显示 2019-09-18 18:39:07 +08:00
BaiJiangJie
83d7290448 Merge pull request #3236 from jumpserver/dev_usergroups
[Bugfix] 修复用户组创建页面Bug
2019-09-17 20:22:27 +08:00
BaiJiangJie
124e042565 [Bugfix] 修复用户组创建页面Bug 2019-09-17 20:08:00 +08:00
ibuler
0db3e41bde [Update] 拆分asset tasks 2019-09-17 18:59:54 +08:00
ibuler
3681bfc015 [Update] 修改用户组授权api 2019-09-17 17:46:18 +08:00
BaiJiangJie
143ed8e4ed Merge pull request #3234 from jumpserver/v52_perms
[Bugfix] 修复授权规则列表显示重复问题
2019-09-17 15:20:28 +08:00
BaiJiangJie
0625c8121e [Bugfix] 修复授权规则列表显示重复问题 2019-09-17 15:18:26 +08:00
八千流
82b00008d9 [Update] 修改更新资产的协议组,不能删除协议的问题 (#3228)
* [Update] 修改更新资产的协议组,不能删除协议的问题

* [Update] 修改前端属性名,避免冲突
2019-09-17 12:35:18 +08:00
老广
1457281b73 Bugfix (#3232)
* [Update] 拆分user permission

* [Update] 修改 ops command

* [Update] 修改setting无法生效的问题

* [Update] 修复授权详情-授权资产或节点添加资产失败

* [Bugfix] 修复组织管理员运行命令时的问题

* [Update] 修复命令执行左侧树点击问题
2019-09-17 12:34:47 +08:00
BaiJiangJie
4931737164 Merge pull request #3230 from jumpserver/dev_auth
[Bugfix] 修复用户认证序列类获取 request 的问题
2019-09-16 18:00:21 +08:00
BaiJiangJie
4797f99f60 [Bugfix] 修复用户认证序列类获取 request 的问题 2019-09-16 17:59:21 +08:00
BaiJiangJie
5828897503 Merge pull request #3227 from jumpserver/dev_users
[Update] API允许批量删除用户,修改前端提示信息逻辑
2019-09-16 15:52:28 +08:00
BaiJiangJie
f4c080dd19 [Update] API允许批量删除用户,修改前端提示信息逻辑 2019-09-16 15:45:26 +08:00
BaiJiangJie
b3e20b8b13 Merge pull request #3225 from jumpserver/dev_migrations
[Update] 修改perms迁移文件之间的依赖关系,添加迁移文件
2019-09-16 11:07:36 +08:00
BaiJiangJie
354c3c563b [Update] 修改perms迁移文件之间的依赖关系,添加迁移文件 2019-09-16 11:04:32 +08:00
八千流
a2376d3afd 超级管理员可创建超级审计员并可设置审计员为组织审计员 (#3141)
* [Update] 超级管理员可创建超级审计员并可设置审计员为组织审计员

* [Update] 修改小问题

* [Update] 修改普通用户角色可以是组织审计员

* [Update] 更改组织审计员切换组织问题

* [Update] 修改小问题

* [Update] 普通用户是组织审计员的页面左侧栏显示

* [Update] 修改删除权限问题和组织显示问题

* [Update] 优化逻辑

* [Update] 优化类名

* [Update] 修改小问题

* [Update] 优化逻辑

* [Update] 优化切换到某一个组织逻辑

* [Update] 修改用户详情页的 删除/更新 按钮是否可点击

* [Update] 优化代码

* [Update] 组织管理列表增加审计员显示

* [Update] 优化代码细节

* [Update] 优化权限类逻辑

* [Update] 优化导航菜单控制

* [Update] 优化页面控制逻辑

* [Update] 修改变量名错误问题

* [Update] 修改页面上的小问题

* [Update] 审计员或组织审计员能够更新个人部分信息

* [Update] 用户名为admin的用户不能被删除

* [Update] 不同用户在不同组织下扮演不同角色的权限不同,为了避免切换组织时出现403,重定向到index

* [Update] 一个用户在同一个组织既是管理员又是审计员,隐藏个人信息模块,仅当是审计员,在当前组织显示个人信息模块

* [Update] 修改方法命名

* [Update] 优化代码细节

* [Update] 修改命令执行列表方法

* [Update] 优化用户之间操作的权限逻辑;添加 UserModel 的 property 属性;修改 Organization 的 related name 名称;

* [Update] 修改OrgProcessor Anonymous问题

* [Update] 修改用户序列类校验组织和转换raw密码的逻辑
2019-09-12 18:56:26 +08:00
ibuler
5f23c358da [Update] 修改remote app tree node 2019-09-12 18:27:03 +08:00
BaiJiangJie
bdcf9ba153 Dev remoteapp (#3205)
* [Update] 修改RemoteApp关联的系统用户:从RemoteApp中转移到RemoteAppPermission中(未提交迁移文件)

* [Update] 修改RemoteApp关联的系统用户:提交迁移文件

* [Update] 修改RemoteApp关联的系统用户:修改迁移文件

* [Update] 修改迁移文件1

* [Update] 修改迁移文件2

* [Update] 修改迁移文件3

* [Update] 修改RemoteAppPermsUtil获取系统用户的逻辑
2019-09-12 18:25:22 +08:00
老广
3a8fad7c7d [Update] 修复页面bug和popover的问题 (#3219)
* [Update] 修复页面bug和popover的问题

* [Update] 修改asset modal table

* [Update] 修改翻译

* [Update] 修改id cache api mixin

* [Update] 去掉asset permission中不用的代码
2019-09-12 18:18:34 +08:00
ibuler
df9ef23034 [Update] 去掉asset permission中不用的代码 2019-09-12 18:18:19 +08:00
ibuler
ec0bdcce9e [Update] 修改id cache api mixin 2019-09-12 18:08:00 +08:00
ibuler
1ba6fa65e0 [Update] 修改翻译 2019-09-12 18:02:30 +08:00
ibuler
a8ac99f642 [Update] 修改asset modal table 2019-09-12 17:58:52 +08:00
KubeOperator
6ef0686978 Update README.md (#3217)
* Update README.md
2019-09-12 11:20:15 +08:00
ibuler
8ddda8e5af [Update] 修复页面bug和popover的问题 2019-09-12 11:17:15 +08:00
ibuler
444f494c0b [Update] 修改节点资产数量的bug 2019-09-11 21:35:48 +08:00
ibuler
3fdec62e25 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-09-11 21:23:20 +08:00
ibuler
80415afa9f [Update] 修改asset 过滤资产api 2019-09-11 21:22:56 +08:00
老广
9bcc325c1e Bugfix (#3216)
* [Update] 添加 asset permission默认排序,去掉node permission model

* [Update] 修复刷新节点的bug
2019-09-11 21:22:25 +08:00
老广
c1d274028f [Update] 添加 asset permission默认排序,去掉node permission model (#3214) 2019-09-11 19:10:22 +08:00
int32bit
041bab88c0 Assure group when push system user to asset (#3155)
Some OS like SUSE12SP3 may not create group when create an OS user. In this case, the task "Set home dir permission" will always fail as the group doesn't exist in the system.
2019-09-11 19:04:12 +08:00
Eric_Lee
996da2d90e upgrade elfinder jquery related files (#3212) 2019-09-11 18:57:42 +08:00
老广
dbb441dfb6 Perm cache (#3211)
* [Update] 修改用户树的cache

* [Update] 修改用户树缓存

* [Update] telnet (beta) => telnet
2019-09-11 18:52:42 +08:00
BaiJiangJie
4f7c668c45 Merge pull request #3209 from jumpserver/dev_initnodes
[Bugfix] 修改初始化一些节点时,assets_node表不存在的问题
2019-09-11 14:52:32 +08:00
BaiJiangJie
9f2e49c9e9 [Bugfix] 修改初始化一些节点时,assets_node表不存在的问题 2019-09-11 14:46:39 +08:00
老广
c0afeba215 Merge pull request #3208 from jumpserver/dev_serializer
[Bugfix] 解决批量创建系统用户等资源时,initial_data.get() 失败的问题
2019-09-11 14:44:35 +08:00
BaiJiangJie
1eb2038ec4 [Bugfix] 解决批量创建系统用户等资源时,initial_data.get() 失败的问题 2019-09-11 14:40:09 +08:00
老广
c2ea867d95 Merge pull request #3204 from jumpserver/dev_session
[Update] 在线会话列表允许终端 RDP session
2019-09-11 11:03:24 +08:00
BaiJiangJie
1b7294f714 [Update] 在线会话列表允许终端 RDP session 2019-09-11 10:50:34 +08:00
ibuler
d1f37d4bbf [Update] 修改 remote app api 2019-09-10 21:11:22 +08:00
ibuler
6cb9ae69b2 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-08-31 12:07:26 +08:00
老广
de43980ee2 Dev beta2 (#3177)
* [Update] 添加loading

* [Update] stash

* [Update] 修改permission
2019-08-31 12:07:03 +08:00
ibuler
3977b73185 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-08-30 10:36:50 +08:00
BaiJiangJie
d5dcab15a8 Dev v52 (#3171)
* [Update] WebTerminal 跳转添加时间戳

* [Update] 修复创建授权规则授权节点时,系统用户不自动推送的问题

* [Update] remote app tree添加 User (#3159)

* fix web sftp select all items display (#3162)

* [Update] 更新翻译(批量改密) (#3170)

* [Update] 更新翻译(批量改密)

* [Update] 更新翻译(批量改密)2
2019-08-28 18:41:09 +08:00
BaiJiangJie
f08d317bfd [Update] 更新翻译(批量改密) (#3170)
* [Update] 更新翻译(批量改密)

* [Update] 更新翻译(批量改密)2
2019-08-28 16:17:40 +08:00
ibuler
3fb79c7726 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-08-28 11:44:09 +08:00
老广
8cd8f41cb0 Dev beta (#3167)
* [Update] 添加loading

* [Update] 修改避免游离资产

* [Update] 修改nodes

* [Update] 修改支持未分组
2019-08-28 11:43:55 +08:00
Eric_Lee
d8e5c64826 fix web sftp select all items display (#3162) 2019-08-26 19:09:53 +08:00
老广
ede7365da8 [Update] remote app tree添加 User (#3159) 2019-08-26 12:15:29 +08:00
BaiJiangJie
05818671a7 V52 (#3158)
* [Update] 优化切换组织时重定向页面逻辑 (#3133)

* [Update] 优化切换组织时重定向页面逻辑

* [Update] 优化切换组织时重定向页面逻辑 2

* [Update] WebTerminal 跳转添加时间戳

* [Update] 修复创建授权规则授权节点时,系统用户不自动推送的问题
2019-08-26 11:58:06 +08:00
BaiJiangJie
57eed7fab6 Merge pull request #3157 from jumpserver/v52_perms
[Update] 修复创建授权规则授权节点时,系统用户不自动推送的问题
2019-08-26 11:56:40 +08:00
BaiJiangJie
fb94050732 [Update] 修复创建授权规则授权节点时,系统用户不自动推送的问题 2019-08-26 11:54:20 +08:00
ibuler
02d3ae37aa [Update] 添加loading 2019-08-26 10:17:59 +08:00
老广
1fe18e8073 Bugfix (#3153)
* [Update] 修改一部分bug

* [Update] 修改一些
2019-08-23 18:23:07 +08:00
BaiJiangJie
de1a08a52f [Update] WebTerminal 跳转添加时间戳 (#3149) 2019-08-22 12:41:28 +08:00
BaiJiangJie
f47f8a66fe Merge pull request #3148 from jumpserver/v52_luna
[Update] WebTerminal 跳转添加时间戳
2019-08-22 12:40:40 +08:00
BaiJiangJie
f6722c5a26 [Update] WebTerminal 跳转添加时间戳 2019-08-22 12:39:32 +08:00
BaiJiangJie
42a0e30891 Merge pull request #3146 from jumpserver/dev_req
[Update] 更新依赖
2019-08-22 10:24:12 +08:00
BaiJiangJie
01b08710d1 [Update] 更新依赖 2019-08-22 10:23:21 +08:00
老广
164f48e131 Dev beta (#3048)
* [Update] 统一url地址

* [Update] 修改api

* [Update] 使用规范的签名

* [Update] 修改url

* [Update] 修改swagger

* [Update] 添加serializer class避免报错

* [Update] 修改token

* [Update] 支持api key

* [Update] 支持生成api key

* [Update] 修改api重定向

* [Update] 修改翻译

* [Update] 添加说明文档

* [Update] 修复浏览器关闭后session不失效的问题

* [Update] 修改一些内容

* [Update] 修改 jms脚本

* [Update] 修改重定向

* [Update] 修改搜索trim

* [Update] 修改搜索trim

* [Update] 添加sys log

* [Bugfix] 修改登陆错误

* [Update] 优化User操作private_token的接口 (#3091)

* [Update] 优化User操作private_token的接口

* [Update] 优化User操作private_token的接口 2

* [Bugfix] 解决授权了一个节点,当移动节点后,被移动的节点下的资产会放到未分组节点下的问题

* [Update] 升级jquery

* [Update] 默认使用page

* [Update] 修改使用Orgmodel view set

* [Update] 支持 nv的硬盘 https://github.com/jumpserver/jumpserver/issues/1804

* [UPdate] 解决命令执行宽度问题

* [Update] 优化节点

* [Update] 修改nodes过多时创建比较麻烦

* [Update] 修改导入

* [Update] 节点获取更新

* [Update] 修改nodes

* [Update] nodes显示full value

* [Update] 统一使用nodes select2 函数

* [Update] 修改磁盘大小小数

* [Update] 修改 Node service

* [Update] 优化授权节点

* [Update] 修改 node permission

* [Update] 修改asset permission

* [Stash]

* [Update] 修改node assets api

* [Update] 修改tree service,支持资产数量

* [Update] 修改暂时完成

* [Update] 修改一些bug
2019-08-21 20:27:21 +08:00
BaiJiangJie
fe6f7bcfc1 Merge pull request #3134 from jumpserver/v52
V52
2019-08-16 16:34:20 +08:00
BaiJiangJie
48826a9ad9 [Update] 优化切换组织时重定向页面逻辑 (#3133)
* [Update] 优化切换组织时重定向页面逻辑

* [Update] 优化切换组织时重定向页面逻辑 2
2019-08-16 16:33:05 +08:00
老广
7d4e9c5669 Merge pull request #3131 from jumpserver/dev
Dev
2019-08-16 10:48:16 +08:00
BaiJiangJie
088f815a30 Merge pull request #3129 from jumpserver/v52_remoteapp
V52 remoteapp
2019-08-15 19:10:18 +08:00
BaiJiangJie
7d1e8d258c Merge pull request #3128 from jumpserver/v52_remoteapp
[Bugfix] 修复remote-app应用创建/更新时,参数设置不成功的bug
2019-08-15 19:09:29 +08:00
BaiJiangJie
50f50a4f28 [Bugfix] 修复remote-app应用创建/更新时,参数设置不成功的bug 2019-08-15 19:08:04 +08:00
BaiJiangJie
820dcaaae7 Merge pull request #3127 from jumpserver/v52_manager
V52 manager
2019-08-15 15:30:06 +08:00
BaiJiangJie
10de4f4ef8 Merge pull request #3126 from jumpserver/v52_manager
[Update] 修复资产用户管理器获取 __name__ 的问题
2019-08-15 15:28:40 +08:00
BaiJiangJie
214b4026ec [Update] 修复资产用户管理器获取 __name__ 的问题 2019-08-15 15:26:14 +08:00
老广
a5e59e6787 Merge pull request #3121 from jumpserver/dev
Dev
2019-08-14 20:26:46 +08:00
ibuler
907d93bcad [Update] 还原一些 2019-08-14 20:26:05 +08:00
ibuler
c84df42ff4 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-08-14 20:23:26 +08:00
ibuler
8fb0d6315d [Update] 修改导入bug 2019-08-14 20:23:02 +08:00
BaiJiangJie
72e746181f Merge pull request #3118 from jumpserver/dev_perms
[Update] 优化资产授权详情页面,添加系统用户后自动reload页面
2019-08-14 18:00:14 +08:00
BaiJiangJie
a10fa3c55b [Update] 优化资产授权详情页面,添加系统用户后自动reload页面 2019-08-14 17:59:11 +08:00
老广
d0633adc38 Merge pull request #3109 from KubeOperator/patch-1
Update README.md
2019-08-12 19:15:04 +08:00
老广
d8ee6d6092 Merge pull request #3110 from jumpserver/dev
[Update] 修改nodes
2019-08-12 19:14:08 +08:00
ibuler
a315df29ca [Update] 暂时不更改这里逻辑 2019-08-12 19:11:32 +08:00
ibuler
2e9711ae8a [Update] 修改nodes 2019-08-12 19:03:10 +08:00
KubeOperator
75f66a3809 Update README.md 2019-08-12 19:01:18 +08:00
老广
fff9f31913 Merge pull request #3108 from jumpserver/dev
Dev
2019-08-12 17:45:34 +08:00
老广
ef73469d5d Merge pull request #3107 from jumpserver/bugfix
[Update] 修改避免每次刷新asset user的可连接性
2019-08-12 17:42:35 +08:00
ibuler
05e4e7301c [Update] 修改避免每次刷新asset user的可连接性 2019-08-12 17:41:18 +08:00
老广
2d7d9d4de7 Merge pull request #3105 from jumpserver/bugfix
Bugfix
2019-08-12 17:14:50 +08:00
ibuler
fdef282c57 [Bugfix] 修复批量更新用户的bug, 导出字段添加 * 2019-08-12 17:05:01 +08:00
老广
39528a935b Merge pull request #3100 from jumpserver/elfinder_theme
fix selected item display bug
2019-08-09 16:40:18 +08:00
Eric
22b0b77b83 fix selected item display bug 2019-08-09 16:13:31 +08:00
ibuler
a188968e5d [Update] 修复Model过长的bug 2019-08-08 19:04:50 +08:00
ibuler
3c9814191d [Update] 修改缩进 2019-08-08 18:33:48 +08:00
ibuler
785b375f4a [Bugfix] 修复授权列表用户无法搜索的bug 2019-08-08 18:32:44 +08:00
ibuler
fbfbfcc274 [Update] 修复磁盘显示单位问题 2019-08-08 17:59:51 +08:00
ibuler
42ff5a382a [Update] 修改设置session的时间,避免sdk等报错 2019-08-08 15:14:08 +08:00
老广
acc03f14dd Merge pull request #3094 from jumpserver/dev
Dev
2019-08-08 14:27:45 +08:00
ibuler
0ee5d3b79f [Update] Add to english readme 2019-08-08 14:26:01 +08:00
ibuler
53a5c53857 [Update] 添加访问数量 2019-08-08 14:24:37 +08:00
老广
e14bbb2698 Merge pull request #3093 from jumpserver/allow_show_all_nodes
[Update] 控制是否显示未分组节点
2019-08-08 13:38:19 +08:00
ibuler
6b56c43a3a [Update] 控制是否显示未分组节点 2019-08-08 13:03:03 +08:00
老广
d222376b1f Merge pull request #3075 from jumpserver/dev
Dev
2019-08-05 10:15:20 +08:00
ibuler
c3a206b291 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-08-05 10:01:33 +08:00
ibuler
afffb50b94 [UPdate] 修改手动模式问题 2019-08-05 10:01:03 +08:00
老广
45e06d215e Merge pull request #3071 from jumpserver/i18n
修改elfinder中文翻译
2019-08-02 19:51:42 +08:00
Eric
2208320049 修改elfinder中文翻译 2019-08-02 19:49:25 +08:00
BaiJiangJie
af2b6742cf Merge pull request #3066 from jumpserver/dev
Dev
2019-08-01 17:13:53 +08:00
BaiJiangJie
4254775149 Bugfix (#3065)
* [Update] 修复浏览器关闭后session不失效的问题

* [Update] 修改一些内容

* [Update] 解决命令执行找不到对象的问题

* [Update] 修改Permission判断

* [Update] 修改session

* [Update] 修改创建系统用户时没有public key
2019-08-01 17:10:02 +08:00
BaiJiangJie
44d41e86c9 Merge pull request #3059 from jumpserver/dev_users
[Update] 添加用户过期邮件提醒
2019-07-31 17:07:27 +08:00
BaiJiangJie
586d6e6abb [Update] 添加用户过期邮件提醒 2019-07-31 16:57:21 +08:00
BaiJiangJie
9ab6c58676 Merge pull request #3055 from jumpserver/dev_login
[Update] 用户登录失败次数提示
2019-07-30 19:12:39 +08:00
BaiJiangJie
3d9c0a212e [Update] 用户登录失败次数提示 2019-07-30 19:10:06 +08:00
老广
f51c6efddc Merge pull request #3054 from jumpserver/dev
获取子节点资产时 使用 in
2019-07-30 17:48:24 +08:00
老广
bb235f3e88 [Update] 修改获取资产时使用in (#3053) 2019-07-30 17:46:27 +08:00
ibuler
c706a410a2 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-30 16:50:05 +08:00
ibuler
d0c74a7704 [Bugfix] 修复只设置公钥不推送的问题 2019-07-30 16:49:54 +08:00
BaiJiangJie
32dacecd24 Merge pull request #3052 from jumpserver/dev_bai
[Update] htmlEscape
2019-07-30 15:11:02 +08:00
BaiJiangJie
a7066a5c85 [Update] htmlEscape 2019-07-30 15:10:14 +08:00
BaiJiangJie
4fe74e9e25 Merge pull request #3051 from jumpserver/dev_bai
[Update] 密码过期邮件发送(密码未过期用户&有效用户)
2019-07-30 12:57:55 +08:00
BaiJiangJie
637fc91413 [Update] 密码过期邮件发送(密码未过期用户&有效用户) 2019-07-30 12:52:45 +08:00
BaiJiangJie
b5aa69db61 Merge pull request #3045 from jumpserver/dev_bai
[Update] 修改翻译(Cloud)
2019-07-29 18:44:30 +08:00
BaiJiangJie
89a98be6ce [Update] 修改翻译(Cloud) 2019-07-29 18:24:43 +08:00
老广
c6ec00e84d [Update] 修改collect static file机制 (#3044) 2019-07-29 17:01:27 +08:00
AnJia
99ce688a70 added Vagrantfile to support windows dev (#3036) 2019-07-29 17:00:31 +08:00
BaiJiangJie
3cdabaf883 [Update] 系统用户资产管理页面获取相关的所有资产 (#3038)
* [Update] 系统用户资产管理页面获取相关的所有资产

* [Update] 系统用户资产管理页面获取相关的所有资产2
2019-07-26 16:16:06 +08:00
BaiJiangJie
be59bff3d0 Merge pull request #3035 from jumpserver/dev
Dev
2019-07-26 10:50:30 +08:00
BaiJiangJie
28f0302e4d Merge pull request #3034 from jumpserver/dev_bai
[Update] 是否允许用户更改/使用密钥登录,根据settings配置进行控制
2019-07-26 10:49:46 +08:00
BaiJiangJie
947f16e371 [Update] 是否允许用户更改/使用密钥登录,根据settings配置进行控制 2019-07-26 10:46:43 +08:00
BaiJiangJie
7e8f734301 Merge pull request #3033 from jumpserver/dev
Dev
2019-07-25 16:58:27 +08:00
BaiJiangJie
69841a4198 [Feature] 资产授权规则页面添加刷新授权缓存按钮 (#3032)
* [Feature] 资产授权规则页面添加刷新授权缓存按钮

* [Feature] 添加注释
2019-07-25 16:25:12 +08:00
BaiJiangJie
4f7daa96a7 Merge pull request #3026 from jumpserver/dev_bai
[Update] 授权资产变动过期所有缓存(cache_key和cache_meta_key)
2019-07-24 17:48:19 +08:00
BaiJiangJie
31c220605e [Update] 授权资产变动过期所有缓存(cache_key和cache_meta_key) 2019-07-24 17:45:38 +08:00
BaiJiangJie
2f439fd417 Merge pull request #3024 from jumpserver/dev_bai
[Bugfix] 解决用户登录日志记录错误的问题(coco端登录记录类型为Web)
2019-07-24 15:53:27 +08:00
BaiJiangJie
f4c835d47a [Bugfix] 解决用户登录日志记录错误的问题(coco端登录记录类型为Web) 2019-07-24 15:49:37 +08:00
BaiJiangJie
c929c1a87e [Bugfix] 解决下载导入模版时KeyError的问题(数据为空时) (#3017)
* [Bugfix] 解决下载导入模版时KeyError的问题(数据为空时)

* [Bugfix] 解决下载导入模版时KeyError的问题(数据为空时)2

* [Bugfix] 解决下载导入模版时KeyError的问题(数据为空时)3

* [Update] 解决LDAP用户禁用后,终端还可以登录成功一次的问题

* [Update] 解决LDAP用户禁用后,终端还可以登录成功一次的问题2

* [Update] LDAP AD Server可以通过UserAccountControl映射is_active字段

* [Update] 限制只有local用户可以更新ssh key

* [Update] 限制只有local用户可以更新ssh key 2
2019-07-24 12:50:39 +08:00
老广
b7915ccdeb Merge pull request #3015 from jumpserver/dev
Bugfix (#3014)
2019-07-23 14:49:21 +08:00
老广
421e98696c Bugfix (#3014)
* [Bugfix] 修复英文时间时期的bug

* [bugfix] 修复session时间日期的问题

* [Bugfix] 修改时间日志格式化错误

* [Update] 修改函数名称

* [Update] 修改函数顺序

* [Bugfix] 修复节点刷新菜单一直append的bug
2019-07-23 14:48:37 +08:00
老广
00e1bf6cff Merge pull request #3013 from jumpserver/dev
Dev
2019-07-23 14:41:36 +08:00
老广
9454854f6c Merge pull request #2684 from yubinhong/master
add gcc libc-dev linux-headers make autoconf
2019-07-23 12:01:42 +08:00
BaiJiangJie
74ae8636a8 Merge pull request #3011 from jumpserver/dev_bai
[Bugfix] 解决邮件设置不成功的问题(提交前点击测试按钮)
2019-07-22 18:55:26 +08:00
BaiJiangJie
d93305f6a4 [Bugfix] 解决邮件设置不成功的问题(提交前点击测试按钮) 2019-07-22 18:53:51 +08:00
老广
332d75b62a Merge pull request #3009 from jumpserver/dev
Bugfix (#3007)
2019-07-22 17:16:29 +08:00
老广
5db704f793 Bugfix (#3007)
* [Bugfix] 修复英文时间时期的bug

* [bugfix] 修复session时间日期的问题

* [Bugfix] 修改时间日志格式化错误

* [Update] 修改函数名称

* [Update] 修改函数顺序

* [Update] 注释部分迁移文件内容
2019-07-22 17:15:24 +08:00
老广
37be53f334 Merge pull request #3004 from jumpserver/dev
修改显示节点下的所有资产
2019-07-22 11:39:50 +08:00
老广
5f59c729b7 Perm for assets (#3003)
* [Update] 授权显示节点下所有的资产

* [Update] 修改返回资产的comment

* [Update] 修改节点返回字段
2019-07-22 11:38:09 +08:00
老广
a8af4e8804 Perm for assets (#3002)
* [Update] 授权显示节点下所有的资产

* [Update] 修改返回资产的comment
2019-07-22 11:25:04 +08:00
老广
8f5e91bc34 [Update] 授权显示节点下所有的资产 (#3001) 2019-07-22 11:12:38 +08:00
BaiJiangJie
277bbc0798 Merge pull request #2996 from jumpserver/dev
Dev
2019-07-19 13:13:01 +08:00
BaiJiangJie
d97654b851 Merge pull request #2995 from jumpserver/bugfix
Bugfix
2019-07-19 13:12:32 +08:00
BaiJiangJie
7ec82cbc60 [Update] 修改列表日期2 2019-07-19 13:10:34 +08:00
BaiJiangJie
63c2343d2c [Update] 修改列表日期 2019-07-19 12:55:43 +08:00
ibuler
d93fe11373 [Bugfix] 修复date format错误 2019-07-19 12:01:17 +08:00
BaiJiangJie
fedfbba30c Merge pull request #2991 from jumpserver/dev
Dev
2019-07-18 18:02:48 +08:00
ibuler
49ccba85a2 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-18 16:33:18 +08:00
ibuler
9903adf71b [Update] 修改cache policy 开关 2019-07-18 16:32:46 +08:00
BaiJiangJie
48cfc4d4ce Merge pull request #2990 from jumpserver/dev
Dev
2019-07-18 13:58:47 +08:00
BaiJiangJie
1f5cc1eef1 Merge pull request #2989 from jumpserver/dev_bai
[Update] 解决授权资产页面资产重复的问题
2019-07-18 13:57:05 +08:00
BaiJiangJie
ce1bb66f23 [Update] 解决授权资产页面资产重复的问题 2019-07-18 13:56:08 +08:00
BaiJiangJie
6f9528d78d Merge pull request #2987 from jumpserver/dev
Dev
2019-07-18 13:42:37 +08:00
BaiJiangJie
fc01b952b3 Merge pull request #2986 from jumpserver/dev_trans
[Update] 修改翻译
2019-07-18 13:23:40 +08:00
BaiJiangJie
51f4c1cde0 [Update] 修改翻译 2019-07-18 13:21:10 +08:00
ibuler
8bb82d168b Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-18 13:01:38 +08:00
ibuler
1ef16d55ef [Update] 优化详情页获取nodes 2019-07-18 13:01:07 +08:00
BaiJiangJie
a242bdd3b1 Merge pull request #2983 from jumpserver/dev
Dev
2019-07-18 11:20:09 +08:00
BaiJiangJie
97bc3d5e7c Merge pull request #2984 from jumpserver/gateway_conn_bug
[Bugfix] 修复网关测试连接失败未捕获导致报500的bug
2019-07-18 11:16:36 +08:00
jym503558564
dbb27a7771 [Bugfix] 修复网关测试连接失败未捕获导致报500的bug 2019-07-18 11:13:58 +08:00
八千流
ea11aa4abb [Bugfix] 修改排序,去掉标签 (#2982)
* [Update] 修改排序,去掉标签

* [Bugfix] 修改排序

* [Bugfix] 修改小问题

* [Bugfix] 修改小问题
2019-07-18 11:01:28 +08:00
ibuler
1af40b6ca0 [Update] 支持etag 2019-07-17 22:14:39 +08:00
老广
1b220326bf Merge pull request #2981 from jumpserver/dev
Bugfix (#2980)
2019-07-17 19:55:29 +08:00
老广
8ed3bb8586 Bugfix (#2980)
* [Update] 修改排序,去掉标签

* [Update] 修改批量更新后刷新页面

* [Update] 修改面包屑

* [Update] 修改用户排序

* [Update] 处理未登录主机显示为负数

* [Update] 支持单个资产的搜索
2019-07-17 19:52:33 +08:00
老广
887cda3287 Merge pull request #2978 from jumpserver/dev
Dev 修改private key校验
2019-07-17 13:46:04 +08:00
ibuler
40de7d64c6 [Update] 修改private创建 2019-07-17 13:41:26 +08:00
ibuler
fbc948fd7c Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-17 12:54:44 +08:00
ibuler
12b2f2f499 [Update] 刷新session有效期 2019-07-17 12:54:00 +08:00
BaiJiangJie
37c10c6cf5 Merge pull request #2976 from jumpserver/dev
[Update] 解决授权资产显示禁用资产的问题 (#2975)
2019-07-17 12:11:40 +08:00
BaiJiangJie
3451c2b418 [Update] 解决授权资产显示禁用资产的问题 (#2975)
* [Update] 解决授权资产显示禁用资产的问题

* [Bugfix] 解决资产更新页面取消激活失败的问题

* [Bugfix] 解决资产详情页面禁用资产时会清除协议的问题

* [Bugfix] 解决创建/更新管理用户、系统用户提交密钥错误时报错的问题
2019-07-17 12:10:14 +08:00
BaiJiangJie
158e2a9112 Merge pull request #2973 from jumpserver/dev
Merge pull request #2972 from jumpserver/dev_bai
2019-07-16 19:08:15 +08:00
BaiJiangJie
1c7a09c9e3 Merge pull request #2972 from jumpserver/dev_bai
[Update] 修改CommandFilter的system_users字段为不必填
2019-07-16 19:05:44 +08:00
BaiJiangJie
28b7768601 Merge pull request #2971 from jumpserver/dev_bai
[Update] 修改CommandFilter的system_users字段为不必填
2019-07-16 18:49:33 +08:00
BaiJiangJie
d21bb5207b [Update] 修改CommandFilter的system_users字段为不必填 2019-07-16 17:55:43 +08:00
BaiJiangJie
7a82c91bc8 Merge pull request #2970 from jumpserver/dev
Dev
2019-07-16 17:16:03 +08:00
BaiJiangJie
bf2ed21020 Merge pull request #2969 from jumpserver/dev_bai
[Update] 修改翻译
2019-07-16 17:14:11 +08:00
BaiJiangJie
560be610fe [Update] 修改翻译 2019-07-16 17:06:33 +08:00
BaiJiangJie
3d1d652cfb Merge pull request #2968 from jumpserver/dev
Dev
2019-07-16 17:00:41 +08:00
BaiJiangJie
f70567f44b Merge pull request #2966 from jumpserver/perms_detail_delete_bug
[Bugfix] 修复资产授权详情页 删除弹出框的权限名显示不对
2019-07-16 16:57:26 +08:00
BaiJiangJie
0b9308282f Merge pull request #2967 from jumpserver/dev_bai
[Update] 修改版本号
2019-07-16 16:54:43 +08:00
BaiJiangJie
2259bc5ea2 [Update] 修改版本号 2019-07-16 16:49:43 +08:00
BaiJiangJie
eb93e634e0 Merge pull request #2964 from jumpserver/dev
Dev
2019-07-16 15:42:23 +08:00
BaiJiangJie
e0802ef2c3 Merge pull request #2965 from jumpserver/dev_bai
[Update] 添加命令过滤器Model中字段name改为unique的迁移文件
2019-07-16 15:40:47 +08:00
jym503558564
1993dba2e0 [Bugfix] 修复资产授权详情页 删除弹出框的权限名显示不对 2019-07-16 15:40:41 +08:00
BaiJiangJie
018bf80930 [Update] 添加命令过滤器Model中字段name改为unique的迁移文件 2019-07-16 15:38:44 +08:00
BaiJiangJie
6eaa1bc3f9 Merge pull request #2963 from jumpserver/cmd_filter_detail_delete_bug
[Bugfix] 修复命令过滤器详情页 删除功能无效的bug
2019-07-16 15:33:08 +08:00
BaiJiangJie
d8d9174454 Merge pull request #2962 from jumpserver/domain_detail_delete_bug
[Bugfix] 修复网域详情页 删除功能无效的bug
2019-07-16 15:30:08 +08:00
BaiJiangJie
bd2f0168a1 Merge pull request #2961 from jumpserver/command_filter_model_bug
[Bugfix] 修复命令过滤器名称可重复问题
2019-07-16 15:27:00 +08:00
BaiJiangJie
a81601b0a1 Merge pull request #2959 from jumpserver/command_list_html_bug
[Bugfix] 修复命令记录页面的时间转换bug
2019-07-16 15:26:30 +08:00
jym503558564
3c166abd2d [Bugfix] 修复命令过滤器详情页 删除功能无效的bug 2019-07-16 15:25:49 +08:00
BaiJiangJie
25d40388da Merge pull request #2958 from jumpserver/cmd_detail_add_system_user_bug
[Bugfix] 修复命令过滤器详情添加不了系统用户的bug
2019-07-16 15:08:15 +08:00
jym503558564
74aa51578b [Bugfix] 修复网域详情页 删除功能无效的bug 2019-07-16 15:06:25 +08:00
jym503558564
48cde91dc1 [Bugfix] 修复命令过滤器名称可重复问题 2019-07-16 14:33:27 +08:00
BaiJiangJie
9455a1c3c0 Merge pull request #2960 from jumpserver/dev_bai
[Update] 获取用户授权资产时只返回资产协议支持的系统用户
2019-07-16 13:33:47 +08:00
BaiJiangJie
f19f28cf3e [Update] 获取用户授权资产时只返回资产协议支持的系统用户 2019-07-16 13:24:16 +08:00
jym503558564
59426d4aa9 [Bugfix] 修复命令记录页面的时间转换bug 2019-07-16 12:01:09 +08:00
jym503558564
e9e601fe45 [Bugfix] 修复命令过滤器详情添加不了系统用户的bug 2019-07-16 11:02:05 +08:00
ibuler
4d1da1d292 [Update] 给jumpserver.js添加版本号 2019-07-16 10:29:20 +08:00
老广
341b654078 Merge pull request #2957 from jumpserver/dev
Dev
2019-07-16 10:12:14 +08:00
ibuler
875a069a18 [Update] 修改校验规则 2019-07-16 10:09:36 +08:00
ibuler
106abc24f8 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-16 10:08:06 +08:00
八千流
ab520ee345 [Bugfix] 缺少引入翻译 (#2956) 2019-07-16 10:03:00 +08:00
BaiJiangJie
e212d413dc Merge pull request #2954 from jumpserver/dev_bai
[Bugfix] 修改资产列表数量显示的Bug
2019-07-15 19:04:14 +08:00
BaiJiangJie
6f2f025b04 [Bugfix] 修改资产列表数量显示的Bug 2019-07-15 19:02:00 +08:00
BaiJiangJie
a884d0d531 [Bugfix] 修改Bug (#2952)
* [Bugfix] 取消管理用户列表按资产数量字段排序

* [Bugfix] 修复后去用户资产权限动作的Bug
2019-07-15 18:47:17 +08:00
八千流
6cf11ab411 [Update] 优化mfa验证身份页面水平线在大屏幕无自动对其问题 (#2948)
* [Update] 优化mfa验证身份页面水平线在大屏幕无自动对其问题

* [Update] 修改小问题
2019-07-15 15:38:34 +08:00
老广
c8623c3b8c Merge pull request #2947 from jumpserver/dev
Dev
2019-07-15 15:11:30 +08:00
老广
9d54baac09 Secure (#2946)
* [Update] 修改assets

* [Update] 添加关闭terminal注册的设置

* [Update] 去掉sql打印
2019-07-15 15:11:01 +08:00
BaiJiangJie
382bb89e8e Merge pull request #2945 from jumpserver/dev_bai
[Update] 优化创建RemoteApp前端逻辑
2019-07-15 15:02:36 +08:00
BaiJiangJie
92aeecbc3e [Update] 优化创建RemoteApp前端逻辑 2019-07-15 14:57:57 +08:00
八千流
9219786f2d [Update] 创建/更新 远程应用 使用api (#2940)
* [Update] 创建/更新 远程应用 使用api

* [Update] 优化 params

* [Update] 修改小问题
2019-07-15 14:42:54 +08:00
ibuler
d2516cc328 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-15 14:37:18 +08:00
老广
ab9744d529 Bugfix (#2944)
* [Update] 修改assets

* [Update] 修改nodes
2019-07-15 14:36:11 +08:00
ibuler
3ac3581622 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-15 14:35:34 +08:00
BaiJiangJie
13ca70b328 Merge pull request #2942 from jumpserver/remote_app_perms_api
[Update] 创建/更新 远程应用授权 使用api
2019-07-15 14:25:06 +08:00
BaiJiangJie
911abeddd0 Merge pull request #2943 from jumpserver/dev_bai
[Bugfix] 修改授权规则详情用户组数量显示错误
2019-07-15 14:20:49 +08:00
BaiJiangJie
4ba306f597 [Bugfix] 修改授权规则详情用户组数量显示错误 2019-07-15 14:14:23 +08:00
jym503558564
cc7ce04402 [Update] 创建/更新 远程应用授权 使用api 2019-07-15 09:53:22 +08:00
ibuler
dfcf0995cd Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-12 18:33:17 +08:00
老广
55b049c86a Bugfix (#2938)
* [Update] 修改assets

* [Update] 修复用户组页面权限

* [Update] 统一授权资产页面,修改apiUpdateAttr函数名称
2019-07-12 18:31:55 +08:00
BaiJiangJie
e5bdceed58 [Update] 优化授权规则资产列表页面 (#2937)
* [Update] 优化授权规则资产列表页面

* [Update] 优化授权规则资产列表页面2

* [Update] 优化授权规则资产列表页面3

* [Update] 优化授权规则资产列表页面4

* [Update] 优化授权规则资产列表页面5

* [Update] 优化授权规则资产列表页面6
2019-07-12 18:31:14 +08:00
八千流
7bda48bd9f [Bugfix] 修复创建用户 数据库报1062 Duplicate entry .. for key PRIMARY 错误 (#2934)
* [Bugfix] 修复创建用户 数据报1062 Duplicate entry .. for key PRIMARY 错误

* [Bugfix] 修改小问题
2019-07-12 15:43:36 +08:00
八千流
63a502ba62 [Update] 创建/更新 用户 使用api (#2918)
* [Update] 创建/更新 用户 使用api

* [Update] 修改小问题

* [Update] 修改小问题
2019-07-11 18:54:30 +08:00
八千流
e0d492f599 [Update] 创建/更新 过滤器规则 使用api (#2925)
* [Update] 创建/更新 过滤器规则 使用api

* [Update] 修改小问题
2019-07-11 18:50:22 +08:00
八千流
48e74ed0ea [Bugfix] 创建/更新 系统用户使用api 在选择命令过滤器时的bug (#2924)
* [Bugfix] 创建/更新 系统用户使用api 在选择命令过滤器时的bug

* [Update] 修改小问题
2019-07-11 18:45:18 +08:00
八千流
95f1a19a0a [Update] 创建/更新 标签 使用api (#2919)
* [Update] 创建/更新 标签 使用api

* [Update] 修改小问题

* [Update] 修改小问题
2019-07-11 18:44:16 +08:00
八千流
63f3fa98db [Update] 创建/更新 网域使用api (#2915)
* [Update] 创建/更新 网域使用api

* [Update] 修改小问题

* [Update] 修改小问题
2019-07-11 18:21:19 +08:00
ibuler
fdfd2f97d2 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-11 18:18:04 +08:00
八千流
4e3e166132 [Update] 创建/更新 用户组使用api (#2914)
* [Update] 创建/更新 用户组使用api

* [Update] 修改小问题
2019-07-11 18:17:47 +08:00
ibuler
21ffa8b28a Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-11 18:17:34 +08:00
BaiJiangJie
5f9f970abd Perf (#2929)
* [Update] 优化性能

* [Update] 修改assets

* [Update] 优化处理

* [Update] Youhua

* [Update] 修改ungroup

* [Update] 修改perms的api地址,去掉sysuser adminuser的可连接性

* [Update] 修改perms urls兼容

* [Update] 修改分类

* [Update] 修改信号

* [Update] 优化获取授权资产

* [Update] 添加注释 (#2928)

* [update] 去掉nodes 的部分字段

* [Update] 删除不用的代码

* [Update] 拆分users

* [Update] 修改用户的属性
2019-07-11 18:12:14 +08:00
八千流
ff85e2ef57 [Update] 创建/更新 命令过滤器 使用api (#2926) 2019-07-11 12:02:51 +08:00
ibuler
d40d231e9a [Update] 修改assets 2019-07-09 19:58:16 +08:00
八千流
6e86e3f118 [Update] 创建/更新 网关使用api (#2911)
* [Update] 创建/更新 网关使用api

* [Update] 修改小问题

* [Update] 修改小问题

* [Update] 修改网关一些信息可读
2019-07-09 17:30:53 +08:00
老广
cedf0e4532 Merge pull request #2910 from jumpserver/bugfix
[Update] 修改日期显示差8小时
2019-07-09 12:06:18 +08:00
ibuler
05438baad9 [Update] 修改日期显示差8小时 2019-07-09 12:05:31 +08:00
老广
e603730320 Merge pull request #2908 from jumpserver/dev
[Update] 修复创建资产是协议bug
2019-07-08 19:04:31 +08:00
ibuler
c0cff6d1fe [Update] 修复创建资产是协议bug 2019-07-08 19:03:45 +08:00
老广
65060a9416 Merge pull request #2907 from jumpserver/dev
[Update] 修改系统用户校验用户名
2019-07-08 18:31:26 +08:00
ibuler
e2f1754a8e [Update] 修改系统用户校验用户名 2019-07-08 18:30:18 +08:00
老广
cf10a8898f Merge pull request #2906 from jumpserver/dev
[Update] 修改授权页面不显示资产的问题
2019-07-08 18:17:26 +08:00
ibuler
533f32ed48 [Update] 修改授权页面不显示资产的问题 2019-07-08 18:16:08 +08:00
老广
8918da48f8 Merge pull request #2904 from jumpserver/dev
Dev
2019-07-08 16:05:24 +08:00
老广
f3b5823cce Bugfix (#2903)
* [Update] 去掉session协议搜索

* [Update] 去掉adhoc wanging
2019-07-08 16:04:32 +08:00
老广
6b43ad60b3 [Update] 去掉session协议搜索 (#2902) 2019-07-08 15:59:55 +08:00
BaiJiangJie
1a60f38c19 Merge pull request #2898 from jumpserver/admin_user_template
[Update] 优化管理用户的资产列表页显示不友好问题
2019-07-08 15:54:08 +08:00
老广
6330f2d42d [Update] 修改获取禁用资产的问题 (#2901) 2019-07-08 15:52:03 +08:00
八千流
033b44f9d2 [Bugfix] 修复禁用的资产在luna页面显示的问题 (#2900) 2019-07-08 15:51:19 +08:00
老广
bf5acf7ef1 [Update] 修复系统用户管理用户提及重置密码的bug (#2899)
* [Update] 修复系统用户管理用户提及重置密码的bug

* [Update]  去掉forms

* [Update] 修改翻译

* [Update] 去掉debug信息
2019-07-08 15:35:20 +08:00
jym503558564
522d19a7e7 [Update] 优化管理用户的资产列表页显示不友好问题 2019-07-08 15:08:17 +08:00
八千流
4c34246750 [Bugfix] 修复批量执行命令没有选择资产bug (#2894)
* [Bugfix] 修复批量执行命令没有选择资产bug

* [Bugfix] 修复批量执行命令没有选择资产bug(2)
2019-07-08 10:44:53 +08:00
老广
52d528613e Merge pull request #2893 from jumpserver/dev
Dev
2019-07-06 16:01:34 +08:00
ibuler
0809916b01 [Update] Merge with master 2019-07-06 15:58:41 +08:00
ibuler
cc56c92562 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-07-06 15:15:27 +08:00
ibuler
447c3f3146 [Update] 修改一个bug 2019-07-06 15:14:55 +08:00
老广
eba8e54261 Merge pull request #2891 from jumpserver/dev_perms
[Update] 修复Action转化的bug
2019-07-06 15:10:16 +08:00
BaiJiangJie
a8c95093c4 [Update] 修复Action转化的bug 2019-07-06 14:46:01 +08:00
BaiJiangJie
0d72c4a7e0 Merge pull request #2890 from jumpserver/dev_bai
[Update] 资产model.__all__添加ProtocolsMixin
2019-07-06 14:07:21 +08:00
BaiJiangJie
963b0911cf [Update] 资产model.__all__添加ProtocolsMixin 2019-07-06 14:06:12 +08:00
BaiJiangJie
e8f68eb6c1 [Update] 解决授权规则actions字段为空列表或只填一个action的问题 (#2888)
* [Update] 解决授权规则actions字段为空列表或只填一个action的问题

* [Update] Action NO改为NULL

* [Update] Action NULL改为NONE
2019-07-06 14:02:56 +08:00
老广
59927ffcd9 Merge pull request #2889 from jumpserver/perf
[Update] 优化协议
2019-07-05 18:29:19 +08:00
ibuler
aac5eed9fc [Update] 去掉debug 2019-07-05 18:28:56 +08:00
ibuler
a412864c80 [Update] 去掉protocol model 2019-07-05 18:10:27 +08:00
ibuler
3c825440f0 [Update] 优化协议 2019-07-05 18:07:10 +08:00
BaiJiangJie
303cf41bb9 Merge pull request #2887 from jumpserver/dev_bugfix
[Update] 修复授权规则更新失败的bug
2019-07-05 16:41:17 +08:00
BaiJiangJie
0512988979 [Update] 修复授权规则更新失败的bug 2019-07-05 16:34:37 +08:00
BaiJiangJie
423a487bd1 Merge pull request #2886 from jumpserver/dev_users
[Update] 限制用户通过API删除自己
2019-07-05 14:00:52 +08:00
BaiJiangJie
e415ef8354 [Update] 限制用户通过API删除自己 2019-07-05 13:59:38 +08:00
BaiJiangJie
ece8f082fb Merge pull request #2885 from jumpserver/dev_perm
[Update] 用户授权资产树进行排序
2019-07-05 12:41:30 +08:00
BaiJiangJie
c52ea089da [Update] 用户授权资产树进行排序 2019-07-05 12:40:15 +08:00
ibuler
64e1e6191b [Update] 修改版本号 2019-07-04 21:25:05 +08:00
老广
58875d9a95 Bugfix (#2831)
* [Update] 修改小问题

* [Update] 添加重传guacamole的脚本

* [Update] 添加debug

* [Update] 优化可连接性

* [Update] 修改connectivity

* [Update] 更改查看认证需要的MFA时间间隔

* [Update] 修改表结构

* [Update] 修改users public_key等字段

* [Update] 修改用户表结构

* [Update] 修改assets users api

* [Update] 修改org mixin

* [Update] 解决连接windows资产出现幽灵会话的问题

* [Update] 优化树结构

* [Update] 修改Permission

* Stash

* [Update] 修改serializer

* [Update] 修改用户有权限的资产

* [Update] 修改upgrouped_node key的获取(解决操作日志中出现coco/gua的问题)

* [Update] 修改一些bug

* [Update] Debug cache

* [Bugfix] 修复用户页面不走cache的bug

* ipython

* [Update] 修改action

* [Bugfix] 修改校验系统用户资产动作权限的API逻辑

* [Update] 去掉原来批量的view

* [Bugfix] 会话/命令列表中获取用户列表排除app用户

* [Update] 修改用户授权资产API返回的queryset

* [Update] 修正migrations

* [Bugfix] 解决进入授权详情页的资产管理页面bug

* [Update] 修改Minxs

* [Update] 修改migrations

* [Update] 资产授权Model模块添加导入

* [Update] 优化命令记录列表

* [Update] 修改command列表

* [Update] 解决用户授权资产/节点为空时,前端构建资产授权树的bug (#2874)

* [Update] 解决用户授权资产/节点为空时,前端构建资产授权树的bug

* [Update] 如果用户授权节点为空,返回时添加空节点

* [Update] 修改command导出和搜索

* [Update] 修改session

* [Update] 修改Permission响应层缓存key

* [Update] 准备优化 asset user

* [Update] 修改去掉一些print

* [Bugfix] 修复initDataTable表格搜索栏位置错乱的问题,显示不友好问题 (#2880)

* [Bugfix] 修复创建用户的View,使用密码创建用户时没有校验密码规则 (#2877)

* [Bugfix] 修复创建用户的View,使用密码创建用户时没有校验密码规则

* [Bugfix]修复小问题

* [Update] 优化创建用户和更新用户密码的校验

* [Update] 优化用户表单校验password逻辑

* [Update] 小问题

* [Update] 修改command搜索

* [Update] 修改user group serialzier

* [Update] 优化资产

* [Update] 优化节点

* [Update] 优化用户组列表用户显示问题 (#2882)

* [Update] 解决select_for_update的错误

* [update] 修改Node无法被删除的bug

* [Update] 添加翻译

* [update] 修改资产导出的permssions

* [Bugfix] 修复删除节点bug (#2883)

* [update] 修改一些性能问题
2019-07-04 21:23:19 +08:00
ibuler
782bad916e Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-04 21:18:04 +08:00
ibuler
1472f0437f [update] 修改一些性能问题 2019-07-04 21:17:39 +08:00
八千流
1256944b96 [Bugfix] 修复删除节点bug (#2883) 2019-07-04 18:31:53 +08:00
ibuler
218e425333 Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-04 17:29:32 +08:00
ibuler
5562a04f79 [update] 修改资产导出的permssions 2019-07-04 17:26:05 +08:00
BaiJiangJie
75409519a1 [Update] 添加翻译 2019-07-04 17:22:04 +08:00
ibuler
62689b240b Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-04 17:21:01 +08:00
ibuler
6f570bcbf1 [update] 修改Node无法被删除的bug 2019-07-04 17:20:42 +08:00
BaiJiangJie
b5962a098a [Update] 解决select_for_update的错误 2019-07-04 17:09:36 +08:00
BaiJiangJie
371aff3251 [Update] 优化用户组列表用户显示问题 (#2882) 2019-07-04 16:44:46 +08:00
ibuler
bab4326aeb [Update] 优化节点 2019-07-04 16:41:38 +08:00
ibuler
dc4ee2f0fa [Update] 优化资产 2019-07-04 16:41:25 +08:00
ibuler
bf9a2714d3 Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-04 16:30:38 +08:00
ibuler
29824fb7d2 [Update] 修改user group serialzier 2019-07-04 16:30:26 +08:00
ibuler
5b1ee67820 [Update] 修改command搜索 2019-07-04 16:28:42 +08:00
八千流
3598bc79c3 [Bugfix] 修复创建用户的View,使用密码创建用户时没有校验密码规则 (#2877)
* [Bugfix] 修复创建用户的View,使用密码创建用户时没有校验密码规则

* [Bugfix]修复小问题

* [Update] 优化创建用户和更新用户密码的校验

* [Update] 优化用户表单校验password逻辑

* [Update] 小问题
2019-07-04 16:14:00 +08:00
八千流
17e1fe2acb [Bugfix] 修复initDataTable表格搜索栏位置错乱的问题,显示不友好问题 (#2880) 2019-07-04 16:13:05 +08:00
ibuler
858c7df86b Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-04 16:09:14 +08:00
ibuler
2d07eeb16b [Update] 修改去掉一些print 2019-07-04 16:08:52 +08:00
ibuler
1448d23ca6 [Update] 准备优化 asset user 2019-07-04 15:36:57 +08:00
BaiJiangJie
2eb942a947 [Update] 修改Permission响应层缓存key 2019-07-04 11:31:31 +08:00
ibuler
cdbdc853ea Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-03 22:28:45 +08:00
ibuler
c3a54a8927 [Update] 修改session 2019-07-03 22:28:20 +08:00
ibuler
dfcbdb0c35 [Update] 修改command导出和搜索 2019-07-03 18:03:01 +08:00
BaiJiangJie
28ec1eb0ad [Update] 解决用户授权资产/节点为空时,前端构建资产授权树的bug (#2874)
* [Update] 解决用户授权资产/节点为空时,前端构建资产授权树的bug

* [Update] 如果用户授权节点为空,返回时添加空节点
2019-07-03 16:33:21 +08:00
ibuler
5f6af8c07d [Update] 修改command列表 2019-07-03 16:29:39 +08:00
ibuler
e7d600ee50 Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-02 22:09:12 +08:00
ibuler
b9f82fd0ac [Update] 优化命令记录列表 2019-07-02 22:08:50 +08:00
BaiJiangJie
186c22decd [Update] 资产授权Model模块添加导入 2019-07-02 19:30:59 +08:00
BaiJiangJie
9a20ec9c09 Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-02 18:24:13 +08:00
ibuler
1b44172bc5 [Update] 修改migrations 2019-07-02 18:23:47 +08:00
BaiJiangJie
bbf5e28571 Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-02 18:01:20 +08:00
ibuler
7bf1555c67 [Update] 修改Minxs 2019-07-02 17:51:50 +08:00
BaiJiangJie
003601bbdd [Bugfix] 解决进入授权详情页的资产管理页面bug 2019-07-02 17:48:29 +08:00
ibuler
58182712a2 Merge branch 'bugfix' of github.com:jumpserver/jumpserver into bugfix 2019-07-02 16:47:10 +08:00
ibuler
930eb1d2e1 [Update] 修正migrations 2019-07-02 16:45:26 +08:00
BaiJiangJie
98260b5b52 [Update] 修改用户授权资产API返回的queryset 2019-07-02 16:34:38 +08:00
BaiJiangJie
9a3065ad4c [Bugfix] 会话/命令列表中获取用户列表排除app用户 2019-07-02 16:01:45 +08:00
ibuler
79554b47d3 [Update] Merge 2019-07-02 14:19:45 +08:00
ibuler
31d2f2a799 [Update] 去掉原来批量的view 2019-07-02 14:17:56 +08:00
BaiJiangJie
1983533e76 [Bugfix] 修改校验系统用户资产动作权限的API逻辑 2019-07-02 12:44:53 +08:00
ibuler
e4880a247f [Update] 修改action 2019-07-02 12:08:25 +08:00
ibuler
e43da3d6e1 ipython 2019-07-02 10:51:48 +08:00
ibuler
b064be3ec0 [Bugfix] 修复用户页面不走cache的bug 2019-07-01 22:09:04 +08:00
ibuler
c33084421d [Update] Debug cache 2019-07-01 21:48:25 +08:00
ibuler
7f7853dbc9 Merge remote-tracking branch 'origin/bugfix' into bugfix 2019-07-01 20:02:17 +08:00
ibuler
4d3856975b [Update] 修改一些bug 2019-07-01 20:01:47 +08:00
BaiJiangJie
8905c27b86 [Update] 修改upgrouped_node key的获取(解决操作日志中出现coco/gua的问题) 2019-07-01 19:39:10 +08:00
ibuler
034fee0f75 [Update] 修改用户有权限的资产 2019-07-01 19:30:18 +08:00
ibuler
d41d58e30f [Update] 修改serializer 2019-07-01 19:08:47 +08:00
ibuler
ae690050e7 Stash 2019-07-01 18:22:40 +08:00
八千流
6273e6be9b [Bugfix] 修复用户批量命令View的bug (#2864) 2019-07-01 17:38:33 +08:00
BaiJiangJie
85d13c03e0 Merge pull request #2865 from jumpserver/dev_bugfix
[Bugfix] 解决审计员查看录像回放失败的问题
2019-07-01 17:38:01 +08:00
BaiJiangJie
a8e20ac1c1 [Bugfix] 解决审计员查看录像回放失败的问题 2019-07-01 17:36:47 +08:00
KayneWang
582365967d 允许配置email密码为空 (#2833)
[issue 2577](https://github.com/jumpserver/jumpserver/issues/2577)
2019-07-01 11:31:16 +08:00
八千流
768cfc7561 [Bugfix] 修复用户无权限执行批量命令却可直接访问批量执行页面的bug (#2857)
* [Bugfix] 修复用户无权限执行批量命令却可直接访问批量执行页面的bug

* [Update] 更改小问题

* [Update] 优化小问题

* [Update] 优化变量名

* [Update] 优化变量名(2)
2019-07-01 11:22:05 +08:00
八千流
297820b65a [Update] 优化组织名字过长显示不友好问题 (#2855)
* [Update] 优化组织名字过长显示不友好问题

* [Update] 优化组织名字前端盒子默认最小宽度为220px
2019-07-01 11:21:26 +08:00
BaiJiangJie
abad929485 [Update] 优化MFA认证允许时间差1min (#2858) 2019-07-01 11:07:28 +08:00
BaiJiangJie
43412d7ef6 [Update] 优化OpenID登录逻辑,配置文件添加禁用证书认证选项 (#2854)
* [Update] 优化OpenID登录逻辑,配置文件添加禁用证书认证选项

* [Update] 优化OpenID细节

* [Update] 优化OpenID, 可配置是否启用共享Session选项

* [Update] 配置文件添加OpenID默认配置项
2019-07-01 11:04:15 +08:00
ibuler
8f699fa366 [Update] 修改Permission 2019-06-30 20:10:34 +08:00
ibuler
8e9b3f134b [Update] 修改permission actions 2019-06-28 22:07:22 +08:00
ibuler
48ba1993e0 Merge remote-tracking branch 'origin/bugfix' into bugfix 2019-06-27 21:43:44 +08:00
ibuler
1a0ff422fe [Update] 优化树结构 2019-06-27 21:43:10 +08:00
BaiJiangJie
5de6563ab2 [Update] 解决连接windows资产出现幽灵会话的问题 2019-06-26 17:29:52 +08:00
ibuler
6d96b5dbaf [Update] 修改org mixin 2019-06-25 20:32:12 +08:00
BaiJiangJie
9ca4a8c941 Dev (#2838)
* Dev ansible windows 2 (#2783)

* [Update] 改密支持windows

* [Update] 修改asset表结构

* [Feature] Windows支持批量改密、测试可连接性等功能

* [Update] 处理创建资产时labels的问题

* [Update] 优化测试管理系统、系统用户可连接性任务执行逻辑

* [Update] 优化ansible任务逻辑;添加自动推送rdp系统用户功能

* [Update] 添加翻译

* [Update] 优化ansible任务逻辑(测试系统用户可连接性, 通过协议过滤资产)

* [Update] 更新翻译

* [Update] 更新翻译

* [Update] 推送windows系统用户,默认添加到Users、Remote Desktop Users组中

* [Update] 优化小细节

* [Update] 更新翻译,删除多余代码

* [Update] 更新翻译信息

* [Bugfix] 修复windows推送系统用户小bug (#2794)

* [Update] 邮件设置添加配置项:发送账号 (#2796)

* [Bugfix] 和资产相关的Serializer添加protocols字段; (#2800)

* [Bugfix] 和资产相关的Serializer添加protocols字段;

* [Bugfix] RemoteApp Form 修改过滤RDP协议资产

* [Bugfix] 修改小问题

* [Update] 用户授权相关API,如果需要切换到root org (#2803)

* [Update] 用户授权相关API,如果需要切换到root org

* [Update] 优化小问题

* [Update] 增加审计员权限控制 (#2792)

* [Update] 审计员

* [Update] 增加审计员的权限控制

* [Update] 增加审计员Api全校的控制

* [Update] 优化auditor的api权限控制

* [Update] 优化审计员权限控制

* [Update]优化管理员权限的View

* [Update] 优化超级管理权限的View

* [Update] 添加审计员切换组织查询会话管理数据

* [Update] 前端禁用审计员在线会话终断按钮

* [Update]优化细节问题

* [Update] Auth Info (#2806)

* [Update] 修改支持auth info导出

* [Update] 统一认证查看

* [Update] 修改auth book manager

* [Update] 修改auth info

* [Update] 完成修改auth info

* [Update] 优化api

* [Update] 修改assets 的related

* [Update] serializer mixin继承 (#2810)

* [Update] serializer mixin继承

* [Update] 修改system user更新serialzier

* [Update] 修改success message

* [Update] 添加一键禁用LDAP认证脚本 (#2813)

* [Update] 修改资产创建格式

* [Update] 兼容之前的protocols格式

* [Update] Merge master_bugfix to dev_bugfix (#2817)

* [Update] 邮件设置添加配置项:发送账号 (#2795)

* [Bugfix] 修复普通用户被授权的RemoteApp列表加载为空的bug

* [Bugfix] 修复普通用户加载被授权的RemoteApp为空的bug

* [Update] 修改邮件测试的接受者为发送者

* [Update] 修改小问题

* [Update] 修改资产授权序列类返回资产protocols的协议格式/, 同时添加protocol和port字段

* [Update] 修改文案 (#2823)

* [Update] 修改文案

* [Update] 修改文案2

* [Bugfix] 修复资产没有管理用户时获取connectivity字段失败的bug

* [Update] 优化测试可连接性时结果获取 (#2825)

* [Update] 修改资产使用patch方法更新时页面不提示messages信息

* [Update] 添加迁移文件,修改设置资产可连接性时管理用户为None的bug

* [Update] 修改org.middleware自动切换组织的bug (#2829)

* [Update] 修改org.middleware自动切换组织的bug

* [Update] 将切换组织逻辑移动到PermsUtil中

* [Update] 修改首页组织名称显示来源
2019-06-25 15:24:41 +08:00
BaiJiangJie
320b17c8db [Update] Merge local branch dev to master 2019-06-25 15:23:39 +08:00
ibuler
e8ebc94191 [Update] 修改assets users api 2019-06-25 14:32:25 +08:00
ibuler
f10a7a75ae [Update] 修改用户表结构 2019-06-25 11:51:25 +08:00
ibuler
e08d542c87 [Update] 修改users public_key等字段 2019-06-25 11:22:17 +08:00
ibuler
824ba433f6 [Update] 修改表结构 2019-06-24 22:16:39 +08:00
ibuler
327febaf59 [Update] 更改查看认证需要的MFA时间间隔 2019-06-24 20:39:45 +08:00
ibuler
0f8d4f5b32 [Update] 统一可连接性,添加sql debug 2019-06-24 20:16:18 +08:00
ibuler
63216addf6 [Update] 修改connectivity 2019-06-24 14:23:29 +08:00
ibuler
9dd951dd0d [Update] 优化可连接性 2019-06-21 20:57:51 +08:00
BaiJiangJie
ed8ae300ae [Update] 修改org.middleware自动切换组织的bug (#2829)
* [Update] 修改org.middleware自动切换组织的bug

* [Update] 将切换组织逻辑移动到PermsUtil中

* [Update] 修改首页组织名称显示来源
2019-06-21 17:09:18 +08:00
ibuler
2e6ba2ffb2 [Update] 添加debug 2019-06-21 16:03:37 +08:00
ibuler
dd4ef4c383 [Update] 添加重传guacamole的脚本 2019-06-21 16:00:59 +08:00
ibuler
ef717f888b Merge branch 'dev' into bugfix 2019-06-21 14:00:34 +08:00
BaiJiangJie
b15e06ffec Merge pull request #2828 from jumpserver/dev_bai2
[Update] 添加迁移文件,修改设置资产可连接性时管理用户为None的bug
2019-06-21 13:52:29 +08:00
BaiJiangJie
583fd410f5 [Update] 添加迁移文件,修改设置资产可连接性时管理用户为None的bug 2019-06-21 13:34:20 +08:00
ibuler
3e73dbdb11 [Update] 修改小问题 2019-06-21 12:45:32 +08:00
BaiJiangJie
908905918e Merge pull request #2827 from jumpserver/dev_bai
[Update] 修改资产使用patch方法更新时页面不提示messages信息
2019-06-21 12:02:11 +08:00
BaiJiangJie
3da43bf01d [Update] 修改资产使用patch方法更新时页面不提示messages信息 2019-06-21 12:01:18 +08:00
BaiJiangJie
bb1a941240 [Update] 优化测试可连接性时结果获取 (#2825) 2019-06-21 11:19:53 +08:00
BaiJiangJie
4fbb4c6082 Merge pull request #2824 from jumpserver/dev_bai
[Bugfix] 修复资产没有管理用户时获取connectivity字段失败的bug
2019-06-21 10:59:56 +08:00
BaiJiangJie
d563216e3f [Bugfix] 修复资产没有管理用户时获取connectivity字段失败的bug 2019-06-21 10:59:08 +08:00
BaiJiangJie
9a5c00e148 [Update] 修改文案 (#2823)
* [Update] 修改文案

* [Update] 修改文案2
2019-06-20 18:10:44 +08:00
BaiJiangJie
7e16ce41e3 Merge pull request #2820 from jumpserver/dev_perms
[Update] 修改资产授权序列类返回资产protocols的协议格式/, 同时添加protocol和port字段
2019-06-20 15:52:13 +08:00
BaiJiangJie
152c59365f [Update] 修改资产授权序列类返回资产protocols的协议格式/, 同时添加protocol和port字段 2019-06-20 15:50:28 +08:00
BaiJiangJie
895dfe475c Merge pull request #2818 from jumpserver/dev_remoteapp
[Update] 修改小问题
2019-06-20 15:12:41 +08:00
BaiJiangJie
29239e8b77 [Update] 修改小问题 2019-06-20 14:41:44 +08:00
BaiJiangJie
8bead0a33b [Update] Merge master_bugfix to dev_bugfix (#2817)
* [Update] 邮件设置添加配置项:发送账号 (#2795)

* [Bugfix] 修复普通用户被授权的RemoteApp列表加载为空的bug

* [Bugfix] 修复普通用户加载被授权的RemoteApp为空的bug

* [Update] 修改邮件测试的接受者为发送者
2019-06-20 11:45:45 +08:00
BaiJiangJie
844f9bf409 Merge pull request #2815 from jumpserver/master_bugfix
[Bugfix] 修复普通用户被授权的RemoteApp列表加载为空的bug
2019-06-20 11:45:26 +08:00
BaiJiangJie
c17d95dae0 [Update] 修改邮件测试的接受者为发送者 2019-06-20 11:38:37 +08:00
BaiJiangJie
50443de888 [Bugfix] 修复普通用户被授权的RemoteApp列表加载为空的bug 2019-06-20 11:25:35 +08:00
ibuler
04655b9042 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-06-19 19:29:29 +08:00
ibuler
8a87f316df [Update] 兼容之前的protocols格式 2019-06-19 19:29:12 +08:00
ibuler
2cd092af42 [Update] 修改资产创建格式 2019-06-19 19:25:21 +08:00
BaiJiangJie
7a8e616f17 [Update] 添加一键禁用LDAP认证脚本 (#2813) 2019-06-19 16:47:39 +08:00
老广
10616b8d9e [Update] serializer mixin继承 (#2810)
* [Update] serializer mixin继承

* [Update] 修改system user更新serialzier

* [Update] 修改success message
2019-06-19 16:45:14 +08:00
ibuler
d6165e5975 [Update] 修改assets 的related 2019-06-19 11:35:50 +08:00
BaiJiangJie
9cd75390bf [Update] Auth Info (#2806)
* [Update] 修改支持auth info导出

* [Update] 统一认证查看

* [Update] 修改auth book manager

* [Update] 修改auth info

* [Update] 完成修改auth info

* [Update] 优化api
2019-06-19 11:31:38 +08:00
八千流
8adaf629b4 [Update] 增加审计员权限控制 (#2792)
* [Update] 审计员

* [Update] 增加审计员的权限控制

* [Update] 增加审计员Api全校的控制

* [Update] 优化auditor的api权限控制

* [Update] 优化审计员权限控制

* [Update]优化管理员权限的View

* [Update] 优化超级管理权限的View

* [Update] 添加审计员切换组织查询会话管理数据

* [Update] 前端禁用审计员在线会话终断按钮

* [Update]优化细节问题
2019-06-19 10:47:26 +08:00
BaiJiangJie
c71f417ebf [Update] 用户授权相关API,如果需要切换到root org (#2803)
* [Update] 用户授权相关API,如果需要切换到root org

* [Update] 优化小问题
2019-06-17 19:27:02 +08:00
BaiJiangJie
795807ddbe [Bugfix] 和资产相关的Serializer添加protocols字段; (#2800)
* [Bugfix] 和资产相关的Serializer添加protocols字段;

* [Bugfix] RemoteApp Form 修改过滤RDP协议资产

* [Bugfix] 修改小问题
2019-06-17 16:46:01 +08:00
BaiJiangJie
7715e62def [Update] 邮件设置添加配置项:发送账号 (#2796) 2019-06-14 10:51:18 +08:00
BaiJiangJie
41a5a69164 [Update] 邮件设置添加配置项:发送账号 (#2795) 2019-06-14 10:36:29 +08:00
BaiJiangJie
5286bf3ac1 [Bugfix] 修复windows推送系统用户小bug (#2794) 2019-06-13 19:46:27 +08:00
老广
ddafd7ba26 Dev ansible windows 2 (#2783)
* [Update] 改密支持windows

* [Update] 修改asset表结构

* [Feature] Windows支持批量改密、测试可连接性等功能

* [Update] 处理创建资产时labels的问题

* [Update] 优化测试管理系统、系统用户可连接性任务执行逻辑

* [Update] 优化ansible任务逻辑;添加自动推送rdp系统用户功能

* [Update] 添加翻译

* [Update] 优化ansible任务逻辑(测试系统用户可连接性, 通过协议过滤资产)

* [Update] 更新翻译

* [Update] 更新翻译

* [Update] 推送windows系统用户,默认添加到Users、Remote Desktop Users组中

* [Update] 优化小细节

* [Update] 更新翻译,删除多余代码

* [Update] 更新翻译信息
2019-06-13 18:58:43 +08:00
BaiJiangJie
08a32028c1 Merge pull request #2790 from jumpserver/dev
Dev
2019-06-12 18:09:37 +08:00
BaiJiangJie
9f9f22548f [Update] Merge branch master to local dev 2019-06-12 17:57:58 +08:00
八千流
69b91df96b [Update]优化资产设置节点的问题 (#2786)
* [Update]优化资产设置节点的问题

* [Update]优化资产创建的节点设置
2019-06-12 17:49:30 +08:00
ibuler
3e86c07411 [Update] 修改授权节点显示 2019-06-12 17:04:49 +08:00
BaiJiangJie
eafef9fc7f Dev (#2785)
* [Update]优化用户页面的资产标签过滤功能 (#2781)

* [Update] 优化用户页面的资产标签下拉框选项

* [Update]增加用户页面的过滤资产标签功能

* [Update]优化用户页面的资产标签过滤

* [Update]优化用户页面的资产标签过滤代码

* [Update] 优化用户页面的资产标签过滤

* [Update] 优化用户API,创建用户添加组织关系 (#2776)

* [Update] 优化前端高度显示css (#2749)

* [Update] 修改授权树显示策略 (#2784)

* [Update] 修改授权树显示策略

* [Update] 是否允许用户执行批量命令

* [Update] 优化授权节点构建

* [Update] 修改节点大小判断

* [Update] 修改节点大小判断
2019-06-11 13:45:19 +08:00
老广
44d33f70e4 [Update] 修改授权树显示策略 (#2784)
* [Update] 修改授权树显示策略

* [Update] 是否允许用户执行批量命令

* [Update] 优化授权节点构建

* [Update] 修改节点大小判断

* [Update] 修改节点大小判断
2019-06-11 13:30:45 +08:00
BaiJiangJie
0574b43971 [Update] 优化前端高度显示css (#2749) 2019-06-11 10:10:04 +08:00
八千流
03d9570895 [Update] 优化用户API,创建用户添加组织关系 (#2776) 2019-06-11 10:09:40 +08:00
八千流
c300f0b549 [Update]优化用户页面的资产标签过滤功能 (#2781)
* [Update] 优化用户页面的资产标签下拉框选项

* [Update]增加用户页面的过滤资产标签功能

* [Update]优化用户页面的资产标签过滤

* [Update]优化用户页面的资产标签过滤代码

* [Update] 优化用户页面的资产标签过滤
2019-06-11 10:09:08 +08:00
BaiJiangJie
e5185ebd57 Merge pull request #2770 from jumpserver/dev
Dev
2019-06-03 16:35:58 +08:00
ibuler
1ba9351957 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-06-03 16:28:56 +08:00
ibuler
505b801423 [Update] 当授权规则发生改变时刷新所有缓存 2019-06-03 16:28:34 +08:00
BaiJiangJie
35a0b42bea Merge pull request #2769 from jumpserver/dev
[Update] 修改录像回放判断逻辑 (#2768)
2019-06-03 15:06:16 +08:00
BaiJiangJie
4f289963d1 [Update] 修改录像回放判断逻辑 (#2768) 2019-06-03 14:47:33 +08:00
BaiJiangJie
1631c32868 Merge pull request #2767 from jumpserver/dev
[Update] 解决csv导入导出的问题
2019-05-31 18:25:34 +08:00
ibuler
9721b805f3 [Update] 解决csv导入导出的问题 2019-05-31 18:20:24 +08:00
BaiJiangJie
d2b1b19404 Merge pull request #2765 from jumpserver/dev
Dev
2019-05-31 17:49:50 +08:00
ibuler
49632241b6 [Update] 导入解析csv coding 2019-05-31 17:40:57 +08:00
ibuler
b4f23f9731 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-05-31 17:04:23 +08:00
ibuler
1cdcc66dba [Update] 修改excel打开乱码 2019-05-31 17:04:00 +08:00
zbhlove100
0a1a260a22 Update README.md 2019-05-31 11:45:01 +08:00
BaiJiangJie
0e377cd0e9 Merge pull request #2762 from jumpserver/dev
[Bugfix] 修复RemoteApp用户列表显示Bug (#2761)
2019-05-31 10:40:51 +08:00
BaiJiangJie
3f3cc6359a [Bugfix] 修复RemoteApp用户列表显示Bug (#2761) 2019-05-31 10:39:33 +08:00
BaiJiangJie
eb0a6f00b5 Merge pull request #2758 from jumpserver/dev
Dev
2019-05-30 16:42:34 +08:00
BaiJiangJie
a87610a8d8 Merge pull request #2757 from jumpserver/dev_bai
[Update] 修改依赖版本号
2019-05-30 16:41:40 +08:00
BaiJiangJie
e3630a9961 [Update] 修改依赖版本号 2019-05-30 16:38:46 +08:00
BaiJiangJie
6ba78e2cf3 Merge pull request #2756 from jumpserver/dev
Dev
2019-05-30 16:08:44 +08:00
BaiJiangJie
63a06b5dd8 Merge pull request #2755 from jumpserver/dev_bai
[Update] 修改获取资产信息时返回org_id字段值
2019-05-30 16:07:42 +08:00
BaiJiangJie
ec60697912 [Update] 修改细节 2019-05-30 16:07:19 +08:00
BaiJiangJie
d6a8c04d45 [Update] 修改获取资产信息时返回org_id字段值 2019-05-30 16:02:03 +08:00
BaiJiangJie
d46f5858f8 Merge pull request #2737 from jumpserver/dev
Dev
2019-05-29 11:34:43 +08:00
BaiJiangJie
a8491eafea Merge pull request #2747 from jumpserver/dev_bai
[Update] 修改版本号
2019-05-29 10:44:23 +08:00
BaiJiangJie
0d046d8356 [Update] 修改版本号 2019-05-29 10:22:13 +08:00
八千流
9c55450a9e [Bugfix] 修复资源表可以选择多页的资源数据 (#2744)
* [Bugfix] 修复资源表可以选择多页的资源数据

* [Bugfix]修改小问题
2019-05-29 10:13:19 +08:00
BaiJiangJie
00e986a64e [Update] 优化LDAP用户导入功能,可导入跨页选取的所有用户 (#2745) 2019-05-29 10:11:58 +08:00
BaiJiangJie
dc4bf669b0 [Update] 修改RemoteApp迁移文件 (#2742) 2019-05-28 17:05:31 +08:00
BaiJiangJie
059a8de44a [Bufix] 修复用户更新时password_strategy字段不能为空的bug (#2741) 2019-05-28 12:11:55 +08:00
ibuler
aa25b7745c Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-05-28 10:28:49 +08:00
ibuler
1097b11115 [Update] 修改ldap支持ssl 2019-05-28 10:28:03 +08:00
BaiJiangJie
9f67daeb1e [Update] 优化AssetPermissionUtil动态设置系统用户actions属性逻辑 (#2739)
* [Update] 优化AssetPermissionUtil动态设置系统用户actions属性逻辑

* [Bugfix] 修复can't pickle dict_keys objects的bug
2019-05-27 20:04:41 +08:00
ibuler
2065692199 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-05-27 16:39:02 +08:00
ibuler
33e342f03f [Update] 修改菜单 2019-05-27 16:38:43 +08:00
八千流
7a6027f35a [Update] csv翻译 (#2736) 2019-05-27 16:12:19 +08:00
BaiJiangJie
e46a6f1d12 [Update] 添加应用下载器地址;添加系统设置中字段的最大、最小值限制 (#2735)
* [Update] 添加应用下载器地址

* [Update] 系统设置中的Form, 添加最大、最小值限制

* [Update] 更新翻译
2019-05-27 15:52:25 +08:00
ibuler
0f3996369b Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-05-27 15:50:54 +08:00
ibuler
0847539e02 [Update] 修改导出的csv名称 2019-05-27 15:50:44 +08:00
八千流
f576f2eda2 [Bugfix]修复解析器顺序bug,csv解析器需在file解析器前 (#2734) 2019-05-27 15:21:33 +08:00
BaiJiangJie
21ac3eaf8b [Update] 用户创建添加密码设置策略 (#2731)
* [Update] 优化创建用户的密码策略功能

* [Update] 优化用户初始密码设置以及清除初始密码

* [Update] 优化创建用户的密码策略功能

* [Update]统一变量名前缀

* [Update] 用户密码策略去掉自定义策略

* [Update] 修改小问题

* [Update] 优化创建用户密码策略

* [Update] 翻译

* [Update] 优化mfa按钮排布和间距

* [Update] 优化mfa按钮样式由前端控制

* [Update] 优化前端密码策略按钮的显示与隐藏

* [Update] 用户创建设置密码添加密码校验弹窗
2019-05-24 19:41:07 +08:00
ibuler
b237cbb20f Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-05-24 18:34:35 +08:00
ibuler
9b5b48dd1a [Update] 修改settings conf配置 2019-05-24 18:34:21 +08:00
八千流
b7eac837f7 [Update] 创建用户自定义邮件内容 (#2703)
* [Update] 增加创建用户自定义邮件内容功能

* [Update] 优化自定义创建用户邮件功能

* [Update] 修改自定义邮件内容的小图标icon

* [Update] 发送邮件引入样式,避免不同浏览器不显示邮件格式问题

* [Update] 优化创建用户自定义邮件内容

* [Update] 修改翻译

* [Update] 优化邮件内容的变量名

* [Update]优化自定义邮件内容

* [Update] 修改小问题
2019-05-24 18:12:58 +08:00
BaiJiangJie
217bb81722 [Update] 优化LDAPUtil逻辑 (#2728) 2019-05-24 11:11:50 +08:00
xiaomao
b791073802 [Update] 解决ldap映射is_active等字段为bool值的问题 (#2716) (#2721) 2019-05-23 18:55:28 +08:00
BaiJiangJie
45cb39e971 [Update] RemoteApp设置type vSphere Client的默认路径 (#2725) 2019-05-23 18:52:39 +08:00
BaiJiangJie
2df1dd2bb1 [Bugfix] LDAP同步用户列表中如果API获取到的用户名中有空格,在设置为id的时候默认会取第一个空格前的字符串作为用户名,导致不会导入用户 (#2726) 2019-05-23 18:52:19 +08:00
BaiJiangJie
4cd3dd3670 [Update] 更新RemoteApp (#2720)
* [Update] RemoteAppForm添加RemoteApp各类型参数保存逻辑

* [Update] RemoteApp添加默认应用路径
2019-05-22 18:56:34 +08:00
BaiJiangJie
b18ca8c94f [Update] 校验用户对RemoteApp权限API添加权限控制 (#2715) 2019-05-22 12:35:14 +08:00
ibuler
75fb37d247 Merge branch 'password' into dev 2019-05-22 10:26:26 +08:00
ibuler
f863ed0f4f [Update] 修改获取common store 2019-05-22 10:25:53 +08:00
BaiJiangJie
3eaf4cd142 [Update] 修改翻译 (#2714) 2019-05-22 10:01:41 +08:00
ibuler
7859499c97 [Update] 更新dockerfile 2019-05-21 17:46:39 +08:00
ibuler
e8ceb58292 [Update] 允许资产ip填写为host地址 2019-05-21 17:07:47 +08:00
BaiJiangJie
84610f2a2c [Bugfix] 修改PermsModel抽象后的objects-bug (#2713)
* [Bugfix] 修改PermsModel抽象后的objects-bug

* [Bugfix] 删除无用代码
2019-05-21 17:01:47 +08:00
BaiJiangJie
d906df5b00 [Update] 抽象BasePermission (#2710)
* [Update] AssetPermission/RemoteAppPermission抽象BasePermission

* [Update] Perms模块添加迁移文件

* [Update] Perms删除多余迁移文件

* [Update] Perms重新生成RemoteAppPermission迁移文件
2019-05-21 16:27:01 +08:00
八千流
22f362aab3 Dev csv (#2640)
* [Update] 封装JMSCSVRender和JMSCSVParser

* [Update] 更改JMSCSVRender,根据请求参数控制导出csv的字段和下载csv模板的字段

* [Update] 导入空数据,提示错误消息

* [Update] 修改用户导入和导出功能代码

* [Update] 修改导入路由为动态反向解析

* [Update] 修改JMSCSVRender和JMSCSVParser以及用户导入导出代码

* [Update] 优化parsers逻辑

* [Update] 优化parsers csv代码结构

* [Update] 优化renders csv代码逻辑

* [Update] 删除parsers csv多余代码

* [Update] 删除parsers csv多余变量

* [Update] 优化renders csv代码结构

* [Update] 优化renders csv代码结构2

* [Update] 优化renders csv获取header逻辑

* [Update] 优化Cache Resources ID View逻辑

* [Update] 优化ViewSet IDCacheFilterMixin逻辑

* [Update] csv: parser render 添加异常捕获逻辑

* [Update] 删除多余代码

* [Update] 优化前端代码

* [Update] 修改小问题

* [Update] 修改前端导出用户的问题

* [Update] 前端 - 优化数据导出逻辑 APIExportData

* [Update] 修复批量创建用户时发送created信号的bug

* [Update] 优化导入时错误信息展示

* [Update] 优化parser、render时,对于多对多字段的处理

* [Update] 修改前端上传空文件问题

* [Update] 添加IDExportFilter,控制下载模版时的queryset

* [Update] 修改判断导出模版时参数变量名 action => template

* [Update] 修复导入用户数据时,用户组不生效的bug

* [Update] 修改前端导入信息展示

* [Update] 抽象资源导入模版

* [Update] 优化资源导入模版

* [Update] 修改js设置url的params逻辑

* [Update] 修改users序列类控制read_only字段方式

* [Update] 资产列表采用新的导入/导出csv文件逻辑

* [Update] 修改导入资产时设置资产所在节点逻辑

* [Update] 添加用户组导入/导出功能

* [Update] 修改前端变量名

* [Update] 修改下载导入模版,不包含org字段

* [Update] 增加管理用户导入/导出功能

* [Update] 导入模版提供id字段(为了资源备份后导入直接使用); 修复资源导入时联合唯一字段不校验导致创建时报错的bug

* [Update] 增加系统用户导入/导出功能

* [Update] 排序资源导入/导出字段

* [Update] 翻译导入/导出的字段和模版

* [Update] 更改csv导出和导出模版数据的控制在render实现

* [Update] 资产添加 更新导入 功能

* [Update] 用户/用户组/管理用户/系统用户/ 添加导入更新

* [Update] 翻译

* [Update] 优化资源序列化中的label

* [Update] 去掉资源IDInFilterMixin过滤

* [Update] 翻译
2019-05-21 16:24:01 +08:00
BaiJiangJie
4942900886 [Update] RemoteApp修改左侧菜单描述 (#2709) 2019-05-21 16:10:48 +08:00
BaiJiangJie
1e505d3d0f [Update] OpenID Middleware去掉输出日志 (#2711) 2019-05-21 16:07:40 +08:00
BaiJiangJie
1eca517978 [Feature] 添加功能 RemoteApp (#2706)
* [Feature] RemoteApp添加Model

* [Feature] RemoteApp添加ViewSet API

* [Feature] RemoteApp添加获取connection-info API

* [Feature] Perms模块修改目录结构

* [Feature] RemoteAppPermission添加Model

* [Feature] RemoteAppPermission添加ViewSet API

* [Feature] RemoteAppPermission添加用户/用户组获取被授权的RemoteApp API

* [Feature] RemoteAppPermission添加校验用户对RemoteApp的权限 API

* [Feature] RemoteAppPermission添加获取用户授权的RemoteApp树 API

* [Feature] RemoteAppPermission添加<添加/移除>所授权的<用户/RemoteApp> API

* [Feature] RemoteApp添加创建、更新、详情、删除、用户RemoteApp等页面

* [Feature] RemoteAppPermission添加创建、更新、详情、删除、授权用户、授权RemoteApp等页面

* [Feature] RemoteApp从assets模块迁移到新添加的applications模块

* [Feature] RemoteApp/RemoteAppPermission添加迁移文件

* [Feature] RemoteApp/RemoteAppPermission修改小细节

* [Feature] RemoteApp/RemoteAppPermission修改小细节2

* [Feature] RemoteApp/RemoteAppPermission修改小细节3

* [Feature] RemoteApp更新迁移文件

* [Feature] RemoteApp/RemoteAppPermission添加翻译信息

* [Feature] RemoteApp/RemoteAppPermission删除迁移文件

* [Feature] RemoteApp/RemoteAppPermission添加迁移文件

* [Feature] RemoteApp/RemoteAppPermission修改代码风格
2019-05-20 19:39:53 +08:00
ibuler
38acce7460 [Update] 修改错误提示颜色 2019-05-20 12:36:35 +08:00
老广
3855fecc69 Password message (#2702)
* [Update] 密码信封

* [Update]  查看密码

* [Update] 支持查看密码

* [Update] 修改语言翻译

* [Update] 迁移ansible到2.8版本

* [Update] 修改auth book的可连接性

* [Update] 删除不使用的方法
2019-05-20 12:30:55 +08:00
ibuler
466b922ea0 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-05-16 14:41:40 +08:00
ibuler
9e52579ca6 [Update] 修改api meta data 2019-05-16 14:41:11 +08:00
老广
1ca1e519b6 Merge pull request #2695 from jumpserver/dev_bugfix
[Bugfix] 修复AssetUserManager.get获取username为""的AuthBook对象时,返回多个结果的bug
2019-05-16 10:38:47 +08:00
BaiJiangJie
54a9070c58 [Update] 资产节点API添加search功能 2019-05-16 10:36:47 +08:00
BaiJiangJie
e108aae3c0 [Bugfix] 修复AssetUserManager.get获取username为""的AuthBook对象时,返回多个结果的bug 2019-05-14 21:39:34 +08:00
syin
27c00410d3 add gcc libc-dev linux-headers make autoconf
add gcc libc-dev linux-headers make autoconf for pip install -r requirements
2019-05-10 11:52:03 +08:00
老广
74ae7d138e Merge pull request #2683 from jumpserver/dev
[Update] 修改排序节点排序规则
2019-05-10 11:35:46 +08:00
ibuler
20ce5d11a6 [Update] 修改排序节点排序规则 2019-05-10 11:33:26 +08:00
老广
cbe919c4b3 Merge pull request #2682 from jumpserver/dev
Dev
2019-05-10 11:31:28 +08:00
ibuler
497cba6b13 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-05-10 11:30:01 +08:00
ibuler
e2849be72c [Update] 修改节点树排序 2019-05-10 11:29:38 +08:00
老广
a025930957 Merge pull request #2642 from jumpserver/dev
Dev
2019-04-30 10:46:28 +08:00
老广
990c78e7cc Merge branch 'master' into dev 2019-04-30 10:46:10 +08:00
BaiJiangJie
0ef12906d3 [Update] 修改翻译信息 (#2643)
* [Update] 更新翻译信息

* [Update] 更新翻译信息
2019-04-30 10:30:58 +08:00
ibuler
61a37731ec Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-04-30 10:20:57 +08:00
ibuler
d3217b6a67 [Update] 修改版本号 2019-04-30 10:20:48 +08:00
BaiJiangJie
04266cc20b [Update] 修改Copyright (#2649) 2019-04-30 10:07:57 +08:00
ibuler
4f36cf7dd1 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-04-29 10:39:51 +08:00
ibuler
490041587b [Update] 修改copyright 2019-04-29 10:39:31 +08:00
BaiJiangJie
3a3da94468 [Update] 修改预留/auth/login/页面方式(admin=1);解决luna页面刷新不跳转openid认证的问题 (#2634) 2019-04-25 18:55:48 +08:00
BaiJiangJie
b7ad6cfe62 [Update] 防止 XSS (#2633)
* [Bugfix] 修改管理用户列表显示bug

* [Bugfix] 修复刷新批量命令页面的bug

* [Update] 防止 XSS
2019-04-25 18:16:41 +08:00
ibuler
4463e7545d [Update] 去掉多余的 2019-04-25 14:34:47 +08:00
ibuler
d0eafc8b8e [Update] Merge 2019-04-25 14:32:53 +08:00
ibuler
8b98c20d68 [Update] xss 2019-04-25 14:31:34 +08:00
BaiJiangJie
caa5060ecd [Update] 控制组织管理员不允许更新、删除超级用户;修复ViewSet API批量更新的bug (#2629)
* [Update] 控制组织管理员不允许编辑(更新、删除)超级用户 - 待续(控制批量更新API)

* [Update] 修改方法名称

* [Update] 控制组织管理员不允许批量更新包含超级用户的用户列表

* [Bugfix] 修复所有ViewSet API进行批量更新时rest_framework_bulk库内部的bug

* [Update] 修改 OpenID Middleware 日志输出模式 info => debug
2019-04-25 10:11:50 +08:00
BaiJiangJie
aabcf7f31c [Update] 授权列表下拉信息添加action字段 (#2618) 2019-04-22 12:31:40 +08:00
ibuler
40d48cdfe4 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-04-22 12:07:59 +08:00
ibuler
8196537878 [Update] 去掉logger.info openid msg 2019-04-22 12:07:48 +08:00
BaiJiangJie
33a00f043b [Bugfix] 修复创建azure类型的录像存储时前端的bug (#2617) 2019-04-22 11:55:14 +08:00
BaiJiangJie
f235e20153 [Feature] 授权规则添加 actions 选项,控制用户对资产的操作行为 (#2610)
* [Feature] 1. perms actions - 添加 Action Model

* [Feature] 2. perms actions - 添加 Action API

* [Feature] 3. perms actions - 授权规则: 添加actions字段

* [Feature] 4. perms actions - 授权规则创建页面: 设置 actions 默认 all

* [Feature] 5. perms actions - 资产授权工具: 动态给system_user设置actions属性; 修改授权相关的API-serializer类: 添加actions字段值

* [Feature] 6. perms actions - 更新API(用户使用系统用户连接资产时权限校验): 添加actions校验

* [Feature] 7. perms actions - 迁移文件中为已经存在的perms添加默认的action

* [Feature] 8. perms actions - 创建授权规则时设置默认action(如果actions字段值为空)

* [Feature] 9. check actions - 修改校验用户资产权限API逻辑(添加actions校验)

* [Feature] 10. check actions - 修改注释

* [Feature] 11. check actions - 添加API: 获取用户指定资产和系统用户被授权的actions

* [Feature] 12. check actions - 添加翻译信息
2019-04-22 11:42:20 +08:00
BaiJiangJie
cf2455c084 [Bugfix] 修复创建azure类型的录像存储时前端的bug (#2608) 2019-04-18 11:50:30 +08:00
BaiJiangJie
fc1068a9dc [Update] 更新翻译 (#2599) 2019-04-15 16:34:56 +08:00
zhnxin
35a0ca1875 Update node.py (#2527)
bugfix: node get_all_children逻辑
2019-04-15 14:43:49 +08:00
八千流
56519354b6 Email reset password (#2547)
* [Update]更改英文登录界面标题,可两行

* [Update] 更改用户通过邮箱修改密码后,该链接就失效

* [Update]更改页面左上角logo_text图片

* [Update] 优化发送邮箱改密连接失效代码

* [Update] 优化发送邮箱改密连接失效代码(2)

* [Update] 优化发送邮箱改密连接失效代码(3)

* [Update] 更新interface一键恢复默认的翻译

* [Update] 更改登录失败 用户名密码错误信息的翻译

* [Update] 优化生成token并设置缓存的代码
2019-04-15 14:37:45 +08:00
jokimina
78e4e13fb9 [Bugfix] IsSuperUserOrAppUser deny app user (#2558) 2019-04-15 14:33:40 +08:00
八千流
699b8d9980 [Update] 修改批量更新资产url过长导致的错误 (#2571) 2019-04-15 14:33:16 +08:00
zbhlove100
ba9581801c Update README.md 2019-04-09 16:57:01 +08:00
zbhlove100
0a5fdf4ea1 功能转为表格 2019-04-09 16:53:54 +08:00
zhangbohan
3849fa2b15 update readme 2019-04-09 15:27:37 +08:00
zhangbohan
0952cbc7c6 英文readme 2019-04-09 12:21:13 +08:00
zhangbohan
bb06c39dd4 更新readme 2019-04-09 12:09:11 +08:00
zhangbohan
d60dc31443 更新readme 2019-04-08 18:30:39 +08:00
老广
76b3cd8edd Merge pull request #2583 from jumpserver/dev
Dev
2019-04-04 12:33:16 +08:00
老广
638ba31694 Merge pull request #2582 from jumpserver/dev_bugfix_assets
[Bugfix] 修复资产对象获取所有节点时的bug
2019-04-04 12:21:42 +08:00
BaiJiangJie
c31b169cae [Bugfix] 修复资产对象获取所有节点时的bug 2019-04-04 12:17:53 +08:00
老广
fc167526ae Merge pull request #2575 from jumpserver/dev
[Bugfix] 修复OpenID判断退出登录的中间件逻辑的bug (#2574)
2019-04-03 12:19:23 +08:00
BaiJiangJie
55eff5eab9 [Bugfix] 修复OpenID判断退出登录的中间件逻辑的bug (#2574) 2019-04-03 12:18:58 +08:00
老广
f5a7f4e086 Merge pull request #2570 from jumpserver/dev
Bugfix (#2569)
2019-04-02 16:26:28 +08:00
老广
f7b0932cdd Bugfix (#2569)
* [Update] 修改Logo 的位置

* [Update] 修改镜像build
2019-04-02 16:25:39 +08:00
老广
ba89ce8fb9 Merge pull request #2560 from jumpserver/dev
[Update] 修复小问题 (#2557)
2019-03-29 19:34:28 +08:00
BaiJiangJie
9d62deeabe [Update] 修复小问题 (#2557)
* [Update] 修复小问题

* [Bugfix] 修复操作日志动作、资源类型过滤不成功的bug
2019-03-29 19:14:18 +08:00
老广
459b41f327 Merge pull request #2559 from jumpserver/dev
[Update] 修复重定向的问题
2019-03-29 15:54:20 +08:00
ibuler
3062e3f64a [Update] 修复重定向的问题 2019-03-29 15:53:31 +08:00
老广
c1362ca4e2 Merge pull request #2552 from jumpserver/dev
Dev
2019-03-28 13:13:36 +08:00
ibuler
9d24912ad9 [Update] Merge 2019-03-28 13:12:19 +08:00
老广
db290609a8 Merge pull request #2551 from jumpserver/dev
Dev
2019-03-28 13:07:34 +08:00
ibuler
4bc5eced6c Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-03-28 13:07:04 +08:00
BaiJiangJie
b82a66c83d [Update] 优化LDAP用户导入功能 (#2550) 2019-03-28 12:50:04 +08:00
ibuler
bf7079df9e [Update] 修改logo 2019-03-28 12:35:16 +08:00
ibuler
f137c5740e [Update] 添加openldap client 2019-03-28 11:53:52 +08:00
ibuler
ee47905966 [Update] 修改超时时间 2019-03-27 20:39:31 +08:00
fit2cloudrd
f6cd193f9e Update README.md (#2548)
* Dev (#2544)

* [Update] 更新翻译 (#2541)

* [Update] 更新缓存机制

* [Update] 增加task最大允许事件,并设置命令最大运行时间为60s

* Update README.md
2019-03-27 18:47:38 +08:00
ibuler
a31775dd23 [Update] 整理 copyright 和 版本 2019-03-27 17:46:35 +08:00
老广
30ba1e5886 Merge pull request #2545 from jumpserver/dev
Dev
2019-03-27 13:04:58 +08:00
ibuler
f97bfa7bf1 [Update] 修复s3创建时端点不含协议的提示 2019-03-27 12:49:46 +08:00
ibuler
ace028fa7f [Update] 统一可更改的interface 2019-03-27 12:20:43 +08:00
老广
69f6401e87 Dev (#2544)
* [Update] 更新翻译 (#2541)

* [Update] 更新缓存机制

* [Update] 增加task最大允许事件,并设置命令最大运行时间为60s
2019-03-27 11:21:21 +08:00
ibuler
bd4d974df1 [Update] merge 2019-03-27 11:13:35 +08:00
ibuler
6e7446f530 [Update] 增加task最大允许事件,并设置命令最大运行时间为60s 2019-03-27 11:12:34 +08:00
ibuler
afe9471aa2 [Update] 更新缓存机制 2019-03-26 19:46:04 +08:00
BaiJiangJie
4d56b84861 [Update] 更新翻译 (#2541) 2019-03-26 15:47:24 +08:00
老广
8fede58c64 Merge pull request #2456 from jumpserver/dev
Dev
2019-03-26 11:39:43 +08:00
ibuler
370904212f [Update] 修改翻译 2019-03-25 20:36:20 +08:00
ibuler
ae03a5aeb7 [Update] 翻译问题 2019-03-25 19:57:18 +08:00
ibuler
24a38841dd [Update] 修改Dockerfile 2019-03-22 18:26:25 +08:00
ibuler
bbc6156bd7 [Update] 数据库支持CA 2019-03-22 18:06:46 +08:00
ibuler
f387df41d7 [Update] 修改版本 2019-03-22 17:23:02 +08:00
ibuler
ceb8b2f5b3 [Update] 修改翻译 2019-03-22 17:16:02 +08:00
ibuler
877781a6ca [Update] 删掉一个migrations 2019-03-22 16:56:46 +08:00
BaiJiangJie
612d5efd1b [Update] 抽象Inventory,更新翻译 (#2530)
* [Update] 抽象Inventory, 支持自定义用户名密码构建Inventory

* [Update] 更新翻译
2019-03-22 16:52:26 +08:00
ibuler
7ea03801d0 [Update] 修改翻译 2019-03-22 15:57:37 +08:00
八千流
ce8f4b4a48 Ldap synchronization (#2512)
* [Add]初步实现ldap一键导入用户到jumpserver用户表里

* [update]增加定时延迟一秒刷新页面

* [Update]更改前端以表格形式显示用户信息,优化代码结构

* [Update]增加用户显示表格

* [Update]settings配置文件取消注释

* [Update]优化ldap同步用功能代码

* [Update]删除ldap同步用户旧html模版

* [Update]修改登录页面图片拉伸问题

* [Update]增加 是否已经导入,在前端提示用户

* [Update]优化ldap同步用户的代码,以及翻译

* [Update] 更新翻译(改密计划) (#2525)

* [Update] 更新翻译(添加改密计划)

* [Update] 更新翻译(改密计划)

* [Update] 更新翻译

* [Update] 更新翻译

* Export login log (#2511)

* [Add]增加登录日志导出功能

* [Update]优化导出登录日志代码

* [Update]优化导出登录日志代码

* [Update]更改导出登录日志按钮
2019-03-22 15:55:46 +08:00
ibuler
15179d2450 [Update] 修改批量命令的翻译 2019-03-22 15:55:20 +08:00
ibuler
9aae106970 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-03-22 15:19:24 +08:00
ibuler
c82044f6bc [Update] 修改一些bug 2019-03-22 15:18:47 +08:00
八千流
e4e6f59589 Export login log (#2511)
* [Add]增加登录日志导出功能

* [Update]优化导出登录日志代码

* [Update]优化导出登录日志代码

* [Update]更改导出登录日志按钮
2019-03-22 15:17:22 +08:00
BaiJiangJie
c8aa9d006f [Update] 更新翻译(改密计划) (#2525)
* [Update] 更新翻译(添加改密计划)

* [Update] 更新翻译(改密计划)

* [Update] 更新翻译

* [Update] 更新翻译
2019-03-22 09:42:39 +08:00
老广
311538dcf8 Bugfix (#2513)
* [Update] 用户页面添加跳转

* [Update] 网关测试支持nat, 修复创建node等id不能指定的问题, 修复settings频繁redis, 没有has_replay录像不可以播放
2019-03-19 19:09:09 +08:00
老广
324cf2469f Bugfix (#2506)
* [Update] 增加清理celery日志

* [Update] 修复两周前会话命令数量系那是问题

* [Update] 修复两周前会话命令数量系那是问题

* [Update] 修改结构

* [Update] 添加datatable失败的日志

* [Update] 转换配置文件格式

* [Update] 添加traceback
2019-03-18 11:34:13 +08:00
ibuler
01745ead1f [Update] 添加migrations 2019-03-18 10:26:40 +08:00
BaiJiangJie
4e705a52eb [Feature] 添加资产用户管理器 (#2489)
* [Feature] 1. 资产用户管理器

* [Feature] 2. 资产用户管理器: 更新AuthBook

* [Feature] 3. 资产用户管理器: 添加 AssetUser API

* [Feature] 4. AssetUser Model: 添加方法 load_related_asset_auth

* [Feature] 5. AdminUser: 更新管理用户获取认证信息时,先加载相关资产的认证

* [Feature] 6. SystemUser: 更新系统用户获取认证信息时,先加载相关资产的认证

* [Feature] 前端页面: 添加资产用户列表页面

* [Feature] 前端页面: 管理用户的资产管理页面添加按钮: 修改资产用户认证信息

* [Feature] 前端页面: 系统用户的资产管理页面添加按钮: 修改资产用户认证信息

* [Feature] 优化: 从管理用户和系统用户的backend中获取相关资产用户的逻辑

* [Update] Fix 1

* [Feature] 优化: SystemUserBackend之filter功能

* [Feature] 优化: AdminUserBackend之filter功能

* [Feature] 优化: AdminUserBackend和SystemUserBackend功能

* [Feature] 更新翻译: 资产用户管理器

* [Update] 更新资产用户列表页名称为: asset_asset_user_list.html

* [Bugfix] 修改bug: SystemUserBackend 根据用户名过滤系统用户

* [Feature] 添加: 资产用户列表中可测试资产用户的连接性

* [Update] 修改: AdHoc model的run_as字段从SystemUser外键修改为username字符串

* [Feature] 添加: 获取系统用户认证信息(对应某个资产)API

* [Update] 更新: API获取asset user时进行排序

* [Bugfix] 修改: 资产用户可连接性CACHE_KEY

* [Update] 更新翻译信息

* [Update] 修改获取资产用户认证信息API的返回响应(200/400)

* [Update] 修改BaseUser获取特定资产的方法名

* [Update] 修改logger输出,AuthBook set_version_and_latest

* [Update] 修改日志输出添加exc_info参数

* [Update] 移除AuthBook迁移文件0026

* [Bugfix] 修复AdminUserBackend获取instances为空的bug
2019-03-18 10:15:33 +08:00
ibuler
9bb58afee1 [Update] bugfix 2019-03-11 10:27:40 +08:00
老广
b45b33380c Monitor (#2485)
* [Update]

* [Update] 修改fields
2019-03-11 10:06:45 +08:00
BaiJiangJie
c86a036ac6 [Update] OpenID认证流程添加详细日志 (#2462)
* [Update] OpenID认证流程添加详细日志

* [Update] 优化日志格式
2019-03-07 18:41:42 +08:00
ibuler
8694511d86 [Update] 完成 2019-03-06 14:58:25 +08:00
ibuler
58c4a46f6e [Update] 用户权限增加cache 2019-03-05 19:47:14 +08:00
ibuler
dfd26d88d4 [Update] 用户资产添加缓存 2019-03-04 20:45:57 +08:00
ibuler
dcf6959cff [Update] 每次启动失效设置的cache 2019-03-04 18:24:02 +08:00
ibuler
924affd978 [Update] 更新移动的model 2019-03-04 17:07:51 +08:00
ibuler
ad6d233c11 [Update] 修改表名称 2019-03-04 15:51:17 +08:00
ibuler
d84ab1d215 [Update] 修改迁移 2019-03-04 15:38:59 +08:00
ibuler
a5fc04e0ce [Update] merge 2019-03-04 11:36:10 +08:00
ibuler
7f71513085 [Update] 去掉fixtures 2019-03-04 11:32:28 +08:00
ibuler
6004ef3f0d [Update] 修改settings 2019-03-04 10:53:49 +08:00
ibuler
e76392a169 Merge branch 'stable' into dev 2019-03-04 10:47:31 +08:00
ibuler
53f0b2e9b0 [Update] 增加清理登陆日志的任务 2019-03-04 10:39:44 +08:00
ibuler
de79e36251 [Update] 增加配置 2019-03-04 10:17:35 +08:00
ibuler
c84e984eae [Update] 任务列表去掉日期 2019-03-01 18:26:13 +08:00
ibuler
6d65c967b1 [Update] config example增加radius 2019-03-01 18:21:14 +08:00
ibuler
8199ea84f4 [Bugfix] 修复有时导致的token解析失败 2019-03-01 13:50:57 +08:00
ibuler
ce1b0da09d [Update] Merge 2019-02-28 18:24:52 +08:00
ibuler
cd6bb848e9 [Update] Squash table 2019-02-28 18:23:39 +08:00
ibuler
34040fcd59 [Update] 移动model 2019-02-28 17:58:53 +08:00
ibuler
1969fb79fe [Update] 修改authentication backends 2019-02-28 15:12:45 +08:00
BaiJiangJie
904f64604b [Bugfix] 修复authentication模块之间引用的bug 2019-02-28 14:41:33 +08:00
ibuler
9b3509208d [Update] 修改authentication目录结构 2019-02-28 11:58:48 +08:00
BaiJiangJie
6700dc969f [Update] users认证逻辑迁移到authentication中 2019-02-27 20:55:28 +08:00
ibuler
21714cc411 [Update] Stash 2019-02-27 08:45:00 +08:00
ibuler
1a247d60e7 [Update] sudo命令添加help text 2019-02-26 16:49:55 +08:00
jokimina
adf8b1f7aa [Bugfix] operation on closed file. (#2438) 2019-02-26 12:42:34 +08:00
老广
69f640daa4 Api (#2439)
* [Update] 迁移settings到独立app

* [Update] 修改settings migrations

* [Update] 修改docs说明
2019-02-26 12:38:20 +08:00
老广
a43314f5be Merge pull request #2432 from jokimina/patch-5
[Bugfix] celery beat crontab task timezone issue
2019-02-25 10:43:52 +08:00
jokimina
599e8a7e37 [Bugfix] crontab task timezone issue 2019-02-24 21:34:45 +08:00
老广
0e00451e1f Merge pull request #2425 from jumpserver/dev
[Update] 修改ldap test密码为空
2019-02-22 19:21:21 +08:00
ibuler
866e5d2011 [Update] 修改ldap test密码为空 2019-02-22 19:14:07 +08:00
老广
232674b1c1 Merge pull request #2423 from jumpserver/dev
Dev
2019-02-22 17:10:05 +08:00
ibuler
ddf60d2512 [Update] 添加jms日志和修改entrypoint 2019-02-22 16:33:27 +08:00
ibuler
3e6e0153cf [Update] 修改entrypoint并增加debug日志 2019-02-22 16:14:50 +08:00
ibuler
6b984aac53 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-02-22 12:49:03 +08:00
ibuler
6d3ee8116e [Update] 修改版本号 2019-02-22 12:48:43 +08:00
老广
904a0f67dd Merge pull request #2422 from jumpserver/dev
Dev
2019-02-22 10:16:08 +08:00
BaiJiangJie
81e1ce2688 [Update] Interface - 1. settings 添加TERMINAL_HEADER_TITLE (#2421) 2019-02-21 19:36:15 +08:00
ibuler
7c422d2ed6 [Update] Merge 2019-02-21 19:24:52 +08:00
ibuler
2a5129c481 [Update] 修改支持记录cmd filter日志 2019-02-21 19:22:23 +08:00
BaiJiangJie
28cdfca14b [Update] 优化 License (#2420)
* [Update] License - 1.添加标签过滤器

* [Update] License - 2.添加翻译信息
2019-02-21 18:49:40 +08:00
ibuler
202aba048b [Update] 修改用户页面授权资产 2019-02-21 17:35:28 +08:00
ibuler
3c2a4703bc [Update] ldap允许空密码 2019-02-21 16:37:36 +08:00
ibuler
4904aac2df [Update] 更新依赖版本 2019-02-21 16:16:08 +08:00
ibuler
303f88d6ee [Update] 更新replay storage 配置 2019-02-21 16:13:08 +08:00
老广
cccc74279d Dev license (#2409)
* [Update] 更新用户组

* [Update] license - 更新翻译

* [Feature] interface - 自定义配置logo,修改前端(待续)

* [Update] interface更新前端页面,两个登陆首页的模版设

* [Update]修改新登陆模版全局变量,国际化翻译,登陆逻辑页面切换

* [Update] 优化Interface前端逻辑

* [Update] Interface 修改前端一些小问题

* [Update] License/Interface 生成翻译信息
2019-02-20 19:20:13 +08:00
老广
16db2abca5 Merge pull request #2419 from jumpserver/dev
Dev
2019-02-20 19:02:40 +08:00
ibuler
859f2d9795 [Update] 支持telnet自定义正则 2019-02-20 19:00:01 +08:00
ibuler
4fd9957bec [Update] 修改celery日志显示 2019-02-20 17:51:53 +08:00
老广
0ac6e6ba2c Merge pull request #2418 from jumpserver/dev
[Update] 修改gunicorn日志
2019-02-20 16:16:44 +08:00
ibuler
785cc04126 [Update] 修改gunicorn日志 2019-02-20 16:11:58 +08:00
老广
f269eae774 Merge pull request #2415 from jumpserver/dev
[Update] 修改导入
2019-02-20 10:41:59 +08:00
ibuler
6f19fcb702 [Update] 修改tasks 2019-02-20 10:40:43 +08:00
老广
b7b6218306 Merge pull request #2414 from jumpserver/dev
[Update] gunicorn的日志
2019-02-19 20:06:37 +08:00
ibuler
5cd809b48a [Update] 修改导入 2019-02-19 20:03:02 +08:00
ibuler
5a1b894138 [Update] gunicorn的日志 2019-02-19 16:59:00 +08:00
老广
4d402617b6 Merge pull request #2410 from jumpserver/dev
Dev
2019-02-19 13:04:00 +08:00
ibuler
666ef366e7 [Bugfix] 修复session不显示在线的问题 2019-02-19 12:50:33 +08:00
ibuler
28d029a553 [Update] 修改settings 2019-02-19 12:18:39 +08:00
老广
00763e986a Merge pull request #2408 from jumpserver/dev
[Update] 修改token有效期
2019-02-19 12:00:04 +08:00
ibuler
f9a7cca478 [Update] 修改token有效期 2019-02-19 10:29:25 +08:00
老广
d09b34e232 Merge pull request #2404 from jumpserver/dev
[Update] 修改配置文件判断
2019-02-18 15:10:36 +08:00
ibuler
2737675c36 [Update] 修改配置文件判断 2019-02-18 15:09:02 +08:00
老广
7591f40b2c Merge pull request #2402 from jumpserver/dev
[Update] 创建子节点支持id
2019-02-18 13:02:15 +08:00
ibuler
c4af6fa72d [Update] 创建子节点支持id 2019-02-18 12:59:36 +08:00
老广
19be7ac580 Merge pull request #2394 from jumpserver/dev
Dev
2019-02-15 11:16:54 +08:00
ibuler
49404f763d [Update] 修改terminal字体 2019-02-15 11:15:46 +08:00
ibuler
87f2a67789 [Update] 修改录像获取 2019-02-15 11:14:37 +08:00
老广
041edb6177 Merge pull request #2392 from jumpserver/dev
Dev
2019-02-15 10:44:32 +08:00
ibuler
df2fad76c7 [Update] 修改Dockerfile 优先使用阿里云镜像 2019-02-14 16:23:56 +08:00
ibuler
94020a8fbb [Update] 修改日志存储 2019-02-14 16:15:28 +08:00
ibuler
cb1e19d28f [Update] 修改录像路径使用utc 2019-02-14 15:47:55 +08:00
ibuler
0980dffb47 [Update] 修复一下新建两个节点的bug 2019-02-13 19:38:51 +08:00
ibuler
4051225ecb [Bugfix] 修复命令执行bug,修复修改日志级别后无法查看日志 2019-02-13 15:55:11 +08:00
老广
507518da04 Merge pull request #2369 from jumpserver/dev
[Update] 修改版本号
2019-01-29 19:33:06 +08:00
ibuler
d3bdbc0b81 [Update] 修改版本号 2019-01-29 19:24:28 +08:00
老广
3b56027edc Merge pull request #2364 from jumpserver/dev
Dev
2019-01-29 17:45:31 +08:00
ibuler
8285610097 [Update] 创建Host Key 2019-01-29 14:07:46 +08:00
ibuler
6acac9cb3d Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-01-29 12:28:14 +08:00
ibuler
9d78f26807 [Update] 创建Host Key 2019-01-29 12:27:51 +08:00
BaiJiangJie
9d53ba22e1 [Update] 取消ceph录像存储,添加命令执行翻译 (#2365) 2019-01-28 14:59:06 +08:00
ibuler
0d0cf04543 [Update] 修改日志查看 2019-01-28 12:18:53 +08:00
ibuler
56a47b6ba3 [Update] 存储添加说明 2019-01-25 14:55:56 +08:00
ibuler
1dbcf4e3ab [Update] 数据库make migration移动到gunicorn 2019-01-24 11:25:13 +08:00
ibuler
95fcd60f64 [Update] 兼容之前的node api 2019-01-22 12:44:01 +08:00
ibuler
178055eb57 [Update] 修改任务小写 2019-01-21 17:43:08 +08:00
老广
01a101a710 [Update] 修改一些terminal storage (#2357) 2019-01-21 17:05:31 +08:00
ibuler
eee6dd1436 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-01-21 12:27:28 +08:00
ibuler
27693c6288 [Update] 修改配置文件 2019-01-21 12:27:20 +08:00
ibuler
55b55f6162 [Update] 修改测试连接节点时,资产为下面的所有资产 2019-01-21 11:58:51 +08:00
ibuler
384cdfbc19 [Update] 启动脚本 2019-01-19 19:29:38 +08:00
ibuler
c8d007f9d7 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-01-19 16:52:59 +08:00
ibuler
d8069f47f2 [Update] 修改配置文件加载 2019-01-17 20:38:56 +08:00
ibuler
d664018bd7 [Update] 修改config.py 2019-01-17 20:32:10 +08:00
ibuler
0f32e78891 [Update] 修改dockerfile 2019-01-17 20:26:47 +08:00
ibuler
6e061d2da5 [Bugfix] 修改小bug 2019-01-17 18:39:38 +08:00
ibuler
b2717133ee [Update] 修改日志目录 2019-01-17 18:06:47 +08:00
老广
2a0e68c58f Bugfix (#2350)
* [Update] 权限页面增加过滤规则

* [Update] 修改terminal注册,更新以后使用api完成

* [Update] 修改terminal注册,更新以后使用api完成

* [Update] 修改更新注册逻辑
2019-01-16 18:13:16 +08:00
老广
176052e8e9 [Update] 权限页面增加过滤规则 (#2349) 2019-01-15 19:01:33 +08:00
老广
d026b31c9f Bugfix (#2346)
* [Update] 修改command Post导致的output错误和定时任务创建问题

* [Update] 修改celery 日志

* [Update] 修改task日志方式

* [Update] 修改Docker file
2019-01-15 10:23:30 +08:00
老广
50c1b3ed4a [Update] 统一coco host key (#2336) 2019-01-10 11:50:08 +08:00
mago960806
131e588d82 is_running()里的打开pid文件的操作已经在get_pid()中执行过了,不需要再次执行 (#2335) 2019-01-10 10:21:05 +08:00
xiaomao
4bf0dfcf7b [bugfix] 解决日志中文报错以及各种utf8问题 (#2328) 2019-01-08 15:27:15 +08:00
老广
49a166552e Bugfix (#2327)
* [Bugfix] 修复两个配置文件冲突问题

* [Update] Docker中不再提供配置文件
2019-01-08 11:15:09 +08:00
老广
0e1d3f93ff [Update] 支持radius认证 (#2323)
* [Update] 支持radius认证

* [Update] 支持radius

* [Update] 增加requirements

* [Update] 修改copyright

* [Update] 修改migrations
2019-01-07 19:20:39 +08:00
老广
35403086ab Config (#2322)
* [Update] 修改配置文件

* [Update] 修改配置文件形式
2019-01-07 18:55:02 +08:00
ibuler
2fde6cfe24 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-01-03 12:41:21 +08:00
老广
ed1dc7a984 Merge pull request #2300 from jumpserver/dev
Dev
2019-01-03 11:52:13 +08:00
老广
9ab3f0441f Merge pull request #2298 from jumpserver/dev_bugfix
[Bugfix] 修复-用户页面资产详情显示bug
2019-01-03 10:41:48 +08:00
BaiJiangJie
d6567f0e57 [Bugfix] 修复-用户页面资产详情显示bug 2019-01-03 10:39:09 +08:00
老广
84bd465b30 Merge pull request #2296 from jumpserver/dev
Dev
2019-01-02 15:39:05 +08:00
ibuler
d0af8eba32 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2019-01-02 15:35:06 +08:00
ibuler
b2a8415f77 [Update] 修改创建子节点api 2019-01-02 15:33:35 +08:00
老广
545d4fa691 Merge pull request #2287 from jumpserver/dev
[Update] 禁用其他认证方式修改密码 (#2286)
2018-12-27 18:58:52 +08:00
老广
560df5027a [Update] 禁用其他认证方式修改密码 (#2286)
* [Update] 禁用其他认证方式修改密码

* [Update] 禁用其他认证方式修改密码

* [Update] 禁用其他认证方式修改密码
2018-12-27 16:47:40 +08:00
老广
e3db7462f7 Merge pull request #2284 from jumpserver/dev
Dev
2018-12-27 11:45:38 +08:00
老广
b55d137e7f Merge pull request #2283 from jumpserver/dev_bai
[Update] 修改在线会话终端按钮vnc协议disable
2018-12-27 11:44:58 +08:00
BaiJiangJie
7c10f8743f [Update] 修改在线会话终端按钮vnc协议disable 2018-12-27 11:39:11 +08:00
ibuler
c5d1ed126e [Update] 修改Jms脚本 2018-12-26 19:20:32 +08:00
老广
6b02cdfc37 Merge pull request #2279 from jumpserver/dev
Dev
2018-12-26 14:56:25 +08:00
BaiJiangJie
340c615efe [Bugfix] session model 添加 vnc 协议 (#2278)
* [Bugfix] session model 添加 vnc 协议

* [Update] 修改表结构
2018-12-26 14:43:43 +08:00
BaiJiangJie
8e51f97dc7 [Update] 添加资产树右击菜单: 刷新所有节点资产数量 (#2274)
* [Update] 添加资产树右击菜单: 刷新所有节点资产数量

* [Update] 修改右击菜单样式
2018-12-26 13:54:42 +08:00
BaiJiangJie
76a08c9039 [Bugfix] 修复创建/更新 Perms 时,名称重复不提示错误信息的问题 (#2272) 2018-12-26 12:59:09 +08:00
BaiJiangJie
b9b8c35a81 [Update] 修改创建资产选择vnc协议,默认端口5901 (#2276)
* [Update] 修改创建资产选择vnc协议,默认端口5901

* [update] 修改创建命令/录像存储时账户无效的提示信息
2018-12-26 12:57:59 +08:00
老广
e8fba2ec44 Merge pull request #2270 from jumpserver/dev
Dev
2018-12-25 16:56:02 +08:00
老广
61df6f55b9 Merge pull request #2269 from jumpserver/bugfix
[Update] 修改bug
2018-12-25 16:55:13 +08:00
ibuler
ef02b1f83a [Update] 修改bug 2018-12-25 16:53:52 +08:00
老广
0798e3c466 Merge pull request #2266 from jumpserver/dev
Dev
2018-12-25 14:32:47 +08:00
老广
a990098744 [Update] 优化资产选择 (#2267)
* [Update] 优化资产选择

* [Update] 优化资产任务
2018-12-25 13:33:37 +08:00
BaiJiangJie
dab692c0eb [Update] 限制终端设置中心跳间隔和会话保留时长的form最小值 (#2262)
* [Update] 限制终端设置中心跳间隔和会话保留时长的form最小值

* [Update] 删除terminal forms表单的初始化值

* [Update] 取消安全设置中forms的初始化值,并采用默认值;添加密码过期时间的最大值限制
2018-12-25 09:58:01 +08:00
BaiJiangJie
8e93bfecb0 [Bugfix] 修复DEFAULT组织下,批量删除(某组织下)一部分用户失败的bug (#2261) 2018-12-24 15:50:58 +08:00
ibuler
e5953e1932 Merge branch 'dev' of bitbucket.org:jumpserver/core into dev 2018-12-23 22:59:30 +08:00
老广
67b21f0489 Merge pull request #2254 from jumpserver/dev
Dev
2018-12-21 15:58:56 +08:00
ibuler
e15c9e6588 [Update] 修改小bug 2018-12-21 15:58:19 +08:00
ibuler
94d6525548 [Bugfix] 修复小bug 2018-12-21 15:57:23 +08:00
老广
a14d6b298d Merge pull request #2253 from jumpserver/dev
Bugfix (#2252)
2018-12-21 15:48:29 +08:00
老广
e7725e6910 Bugfix (#2252)
* [Update] 修改心跳偶人时间

* [Update] 修改Node比较

* [Bugfix] 修复bug
2018-12-21 15:47:52 +08:00
老广
23bf2b0f8e Merge pull request #2250 from jumpserver/dev
Dev
2018-12-21 15:10:37 +08:00
BaiJiangJie
ac9178cb93 [Update] 更新deb_requirements依赖 (#2239) 2018-12-21 14:59:00 +08:00
老广
7ff39259af Required opt (#2246)
* [Update] 修改心跳偶人时间

* [Update] 去掉required的label

* [Update] 修改默认心跳时间

* [Update] 去掉默认的placeholder

* [Update] 修改utils
2018-12-21 14:57:42 +08:00
ibuler
b2aef87fdd [Update] 修改心跳偶人时间 2018-12-21 10:35:17 +08:00
老广
e1f1bed9c9 Merge pull request #2231 from jumpserver/dev
Dev
2018-12-20 11:44:34 +08:00
老广
08945f0a19 [Bugfix] 修复adhoc 日志查看的bug, 修改config example (#2230) 2018-12-20 11:42:00 +08:00
ibuler
a1b80f5f0b [Update] 清理task adhoc和history 2018-12-20 11:05:36 +08:00
ibuler
7773c30240 [Update] 增加索引 2018-12-20 10:40:52 +08:00
jokimina
231c907c64 [Update] ops adhoc date_created index (#2223) 2018-12-20 10:34:42 +08:00
BaiJiangJie
db8882a2b9 [Bugfix] 修复创建网域时,选择资产的input和弹出table显示不一致的bug (#2224) 2018-12-20 10:32:41 +08:00
ibuler
e5285f312b [Bugfix] 修复vnc录像的bug 2018-12-19 19:55:41 +08:00
老广
332be54b46 Vnc (#2226)
* [Update] 优化授权协议, 支持vnc

* [Update] 添加协议vnc

* [Update] 修改系统用户添加

* [Update] 修改vnc信息
2018-12-19 19:40:58 +08:00
老广
fe7c3c29ad [Update] 优化授权协议, 支持vnc (#2220)
* [Update] 优化授权协议, 支持vnc
2018-12-19 17:03:10 +08:00
老广
0e9ebed19d Merge pull request #2214 from jumpserver/dev
Dev
2018-12-19 13:57:15 +08:00
老广
4a3327bc4b Merge pull request #2213 from jumpserver/bugfix
[Bugfix] 修复录像bug
2018-12-19 13:56:30 +08:00
ibuler
5d47bebb6b [Bugfix] 修复录像bug 2018-12-19 13:55:49 +08:00
老广
2ece3545ed Merge pull request #2210 from jumpserver/dev
Dev
2018-12-19 12:33:34 +08:00
ibuler
a9a1bae805 [Update] 修改列表页,显示可连接状态 2018-12-19 12:32:53 +08:00
ibuler
f35c02b346 [Update] 修改列表页,显示可连接状态 2018-12-19 12:30:51 +08:00
老广
32df515f4b Merge pull request #2209 from jumpserver/dev
Dev
2018-12-19 12:02:16 +08:00
ibuler
71750970b2 [Update] 暂时去掉刷新资产树 2018-12-19 12:01:18 +08:00
ibuler
a85099ee60 [Update] 修改版本号 2018-12-19 11:43:13 +08:00
老广
a5b9b4e1d2 Merge pull request #2206 from jumpserver/dev
Dev
2018-12-19 10:53:00 +08:00
老广
b3079a4a9b [Update] Add index (#2208) 2018-12-19 10:49:30 +08:00
ibuler
9a22874305 [Update] 去掉多余的任务 2018-12-18 20:14:44 +08:00
ibuler
179018bf67 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-18 20:07:16 +08:00
ibuler
583214e91a [Update] 优化获取授权资产api 2018-12-18 20:01:59 +08:00
BaiJiangJie
fb44ef0986 [Bugfix] 修复 资产授权/标签 选择资产时,input框内的资产和弹出资产tabl显示不一致的bug (#2205)
* [Bugfix] 修复授权规则,选择资产时,输入框资产和弹出表格中资产显示不一致

* [Bugfix] 修复创建/更新资产标签,选择资产时,输入框资产和弹出表格中资产显示不一致的bug

* [Update] 修复标签/授权选择资产时, 2次初始化table的bug;资产input和弹出table统一的代码逻辑移到js中;
2018-12-18 18:50:02 +08:00
ibuler
90b77fdb08 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-18 17:30:59 +08:00
老广
a609f17078 [Update] Stash it (#2197)
* [Update] Stash it

* [Bugfix] 修复错误

* [Update] 修改jms
2018-12-18 17:28:45 +08:00
ibuler
068a280350 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-18 11:38:42 +08:00
老广
1293d72189 Session task (#2196)
* [Bugfix] 修复错误

* [Update] 增加会话定期清理
2018-12-18 11:29:21 +08:00
ibuler
164c5ebabd Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-18 09:52:25 +08:00
老广
b56d73ba9e Node asset amount (#2192)
* [Bugfix] 修复错误

* [Update] 优化用户api
2018-12-17 20:09:25 +08:00
ibuler
dbdcdb722d Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-17 18:21:51 +08:00
老广
517a27ea33 Node asset amount (#2191)
* [Bugfix] 修复错误

* [Update] 修改树结构,统一api
2018-12-17 18:20:44 +08:00
vkill
ab6c88823d Support for TOTP valid_window configuration (#2187) 2018-12-17 14:26:00 +08:00
ibuler
1ff9f0eaa6 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-17 11:50:18 +08:00
老广
b95f8a7d6b [Update] 修复获取节点数量比较慢的问题 (#2184) 2018-12-17 11:49:57 +08:00
ibuler
29ff0efdc1 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-17 11:45:37 +08:00
老广
985bd6fc82 Bugfix2 (#2183)
* [Bugfix] 修复错误

* [Bugfix] 修复一些bug
2018-12-17 11:44:43 +08:00
BaiJiangJie
374039d287 [Update] 终端设置,添加coco端资产列表页面大小配置项 (#2182)
* [Update] 终端设置,添加coco端资产列表页面大小配置项

* [Update] 添加页面大小选项
2018-12-17 11:18:55 +08:00
ibuler
c7ac93fcc1 [Bugfix] 修复错误 2018-12-17 10:21:16 +08:00
老广
ac7e3e7f97 Merge pull request #2161 from jumpserver/dev
[Update] 更改readme
2018-12-13 10:16:08 +08:00
ibuler
4e0b25ae0f [Update] 更改readme 2018-12-13 10:15:31 +08:00
老广
559f4d2f5c Merge pull request #2160 from jumpserver/dev
[Bugfix] 修复access key的错误
2018-12-13 10:08:16 +08:00
ibuler
f40f6bc61e [Bugfix] 修复accekt的错误 2018-12-13 10:06:51 +08:00
老广
0f61b36bff Merge pull request #2155 from jumpserver/dev
Dev
2018-12-12 18:04:27 +08:00
ibuler
55ff82545a [Bugfix] 修复任务执行args为空的bug 2018-12-12 18:03:28 +08:00
ibuler
a99d5609fa [Bugfix] 修复运行测试硬件等报错的bug 2018-12-12 18:00:21 +08:00
老广
dbc2779b34 Merge pull request #2151 from jumpserver/dev
Dev
2018-12-12 15:58:57 +08:00
ibuler
33b1de0d85 [Update] 优化一下 2018-12-12 15:56:36 +08:00
ibuler
bcfe82f162 [Update] 优化错误颜色 2018-12-12 12:40:45 +08:00
ibuler
82af5f8f16 [Update] 资产详情页面增加网域 2018-12-12 12:28:13 +08:00
ibuler
84f52eb337 [Update] 修改api 2018-12-12 12:11:12 +08:00
老广
f00a650366 Merge pull request #2145 from jumpserver/dev
Dev
2018-12-12 10:54:41 +08:00
ibuler
2fedeb9834 [Update] 修改命令错误输出 2018-12-12 10:41:28 +08:00
ibuler
daadcedc21 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-12 09:57:26 +08:00
ibuler
951e8261ad [Update] 修改版本 2018-12-12 09:57:02 +08:00
老广
9c0f00f625 [Update] 修改命令执行 (#2148)
* [Update] 修改命令执行

* Update forms.py
2018-12-11 20:32:55 +08:00
老广
6a23983331 Command (#2142)
* [Update] 修改节点

* [Update] 优化命令运行失败日志
2018-12-11 12:51:22 +08:00
BaiJiangJie
18e590effd [Bugfix] 修复创建授权规则,选择资产导致其他输入框清空的bug - select2 (#2141) 2018-12-11 12:04:19 +08:00
vkill
9d1f5d3184 Add alpine_requirements.txt (#2139)
* Add alpine_requirements.txt

* Update alpine_requirements.txt
2018-12-11 11:21:07 +08:00
ibuler
b54d389c7c [Update] 修改翻译 2018-12-11 11:12:47 +08:00
老广
31356e825f [Update] 修改运行命令名称 (#2140) 2018-12-11 11:09:46 +08:00
ibuler
76aadad6fe [Bugfix] 修复菜单选中bug 2018-12-10 19:54:50 +08:00
ibuler
c7510bcf19 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-12-10 19:51:57 +08:00
ibuler
52e5487e7d [Update] 修改执行命令 2018-12-10 19:51:35 +08:00
BaiJiangJie
4a0d6842de [Update] 修改select2 css (#2125)
* [Update] 修改select2 css

* [Update] 创建资产选择节点时,关闭自动收起下拉列表
2018-12-10 15:19:08 +08:00
老广
d6b22e9ff8 [Update] 修改gateway test connection (#2135) 2018-12-10 13:03:02 +08:00
Titan
2833f343b2 otp issuer配置项 (#2133)
多机房环境中otp issuer配置
2018-12-10 12:03:42 +08:00
老广
3d13f3a17d Command (#2134)
* [Update] 任务区分org

* [Update] 修改翻译

* [Update] 使用id而不是hostname

* [Update] 执行命令

* [Update] 修改一些东西

* [Update] 暂存

* [Update] 用户执行命令

* [Update] 添加资产授权模块-tree

* [Update] 暂时这样

* [Update] 批量命令执行

* [Update] 修改表结构

* [Update] 更新翻译

* [Update] 删除cloud模块无效中文翻译
2018-12-10 10:11:54 +08:00
BaiJiangJie
d91599ffab [Update] 更新依赖 (#2117)
* [Update] 更新依赖

* [Update] 修改翻译小细节
2018-12-04 10:01:40 +08:00
老广
e22e832d49 [Bugfix] 修复批量更新时 节点和标签是增加而不是覆盖 (#2115) 2018-11-30 15:39:13 +08:00
BaiJiangJie
8f479e364b [Update] 修复小细节 (#2111)
* [Update] 命令/录像存储,禁用default删除按钮

* [Update] 修复 _asset_list_modal 取消资产全选时不能映射到资产选择框的bug
2018-11-29 16:01:03 +08:00
老广
0b0fdbfc82 [Update] 日志审计中改密日志权限 (#2108)
* [Update] 日志审计中改密日志权限

* [Update] 日志审计中改密日志权限
2018-11-28 18:15:02 +08:00
老广
24fe3ade9c [Update] 默认中可以看到所有用户 (#2106) 2018-11-28 10:02:58 +08:00
老广
9499a16a8b [Update] 默认中可以看到所有用户 (#2102) 2018-11-27 11:00:39 +08:00
BaiJiangJie
f380d82b55 [Update] 修改小问题 (#2100)
* [Update] 不修改admin用户的用户来源

* [Bugfix] 修复Default组织下用户列表会显示所有用户,并查看详情会报错

* [Update] 关闭telnet资产测试可连接性

* [Update] 只有ssh协议资产可测试连接性
2018-11-27 10:21:47 +08:00
老广
060248d1ca Req (#2098)
* [Update] 修改requirements

* [Update] 修改requirements

* [Update] 编译语言
2018-11-26 18:50:30 +08:00
ibuler
da8fec77bb [Update] 更新配置文件 2018-11-26 10:38:56 +08:00
ibuler
67f52888f6 [Update] 浏览器会话火气时间 2018-11-26 10:30:40 +08:00
ibuler
c4d6f32528 [Update] 增加启动超时时间 2018-11-26 10:22:17 +08:00
ibuler
2661bbb70a [Update] 修改config example 2018-11-23 18:30:41 +08:00
ibuler
3e3ab556d3 [Update] 修改设置 2018-11-23 18:28:02 +08:00
BaiJiangJie
646a29108c [Update] 修改安全设置模块排版,翻译 (#2083) 2018-11-23 17:00:35 +08:00
ibuler
c7f86cdde9 Merge branch 'dev' of github.com:jumpserver/jumpserver into dev 2018-11-23 16:36:49 +08:00
BaiJiangJie
79208a95c1 [Update] authentication 添加自定义 LDAPBackends (#2081) 2018-11-23 16:36:28 +08:00
ibuler
091cf39e4e [Bugfix] ldap可以修改密码问题,platform大小写问题 2018-11-23 16:24:30 +08:00
ibuler
0df7c6909e [Update] 修改config_example 2018-11-23 11:30:31 +08:00
ibuler
f6def0b43f [Update] 修改表结构 2018-11-23 11:15:11 +08:00
老广
9cfcadc2f6 服务账号注册机制更改 (#2079)
* [Update] 服务账号注册

* [Update] 修改settings配置

* [Update] 修改settings

* [Update] 整理terminal api

* [Update] 修改terminal api

* [Update] 修改terminal注册机制
2018-11-23 10:25:35 +08:00
BaiJiangJie
363985ee7a [Feature] 添加功能,密码过期间隔时间配置,检测用户密码过期 (#2043)
* [Update] user model 添加date_password_last_updated字段, 并在用户详情/个人信息页进行展示、重置密码/修改密码时进行更新;安全设置添加密码过期时间配置项;

* [Update] 修改依赖,deb_requirements 删除 gcc automake

* [Update] 添加定时任务: 检测用户密码是否过期

* [Update] 登录页面添加检测用户密码是否过期,并给出过期提示,拒绝登录

* [update] 用户密码过期时间5天以内,每天发送重置密码邮件

* [Update] api 登录认证,添加密码过期检测

* [Update] 添加提示用户密码即将过期信息

* [Update] 修改小细节

* [Update] User model 添加密码即将过期/已过期 property属性

* [Update] 修改用户api auth检测用户密码过期逻辑

* [Update] 添加翻译,用户密码过期

* [Update] 用户密码即将过期,发送密码过期提醒邮件

* [Update] 修改检测用户密码过期任务,修改interval为crontab

* [Update] 修改翻译小细节

* [Update] 修改翻译小细节

* [Bugfix] 修复在用户更新页面修改密码时, 不更新最后密码修改时间的bug

* [Update] 修复小细节

* [Update] 修改系统设置成功提示翻译信息
2018-11-22 18:02:12 +08:00
老广
16cc4a0f4e [Update] 修改settings配置 (#2067)
* [Update] 修改settings配置

* [Update] 修改settings

* [Update] 修改密码校验规则前后端逻辑

* [Update] 修改用户config机制

* [Update] 修改配置

* [Update] 修改config example增加翻译
2018-11-22 12:27:27 +08:00
ibuler
5931c5a032 [Update] terminal配置修改 2018-11-19 12:45:33 +08:00
ibuler
742200e462 Merge remote-tracking branch 'github/dev' into dev 2018-11-19 12:27:57 +08:00
ibuler
9d7b82085e [Update] 修改common settings 2018-11-19 12:27:29 +08:00
ibuler
dda367a956 [Update] 修改common settings配置 2018-11-19 12:18:52 +08:00
老广
c0d51e22d7 Merge pull request #2035 from jumpserver/origin_dev
Origin dev
2018-11-14 12:49:47 +08:00
老广
2348c8c335 Merge pull request #2034 from jumpserver/origin_dev
[Bugfix] 修复luna不显示多组织资产的问题
2018-11-14 12:49:21 +08:00
ibuler
87abe63a20 [Bugfix] 修复luna不显示多组织资产的问题 2018-11-14 12:48:59 +08:00
ibuler
4d26fd8b56 [Bugfix] 修复luna不显示多组织资产的问题 2018-11-14 12:47:43 +08:00
ibuler
c9aab608a9 [Bugfix] 修复luna不显示多组织资产的问题 2018-11-14 12:42:26 +08:00
ibuler
641567be10 [Update] 修改docker file依赖 2018-11-13 16:18:25 +08:00
ibuler
5f68f6cb69 [Update] 增加脚本导入migration sql 2018-11-13 16:09:26 +08:00
ibuler
d50ad66b78 [Update] 维护统一的migrations 2018-11-13 15:57:44 +08:00
老广
69ab3e3542 Merge pull request #2028 from jumpserver/dev
Dev
2018-11-13 15:17:47 +08:00
ibuler
ff1b902b2e Merge remote-tracking branch 'github/dev' into dev 2018-11-13 15:01:07 +08:00
BaiJiangJie
52647da79b [Update] 修改jumpserver功能图片 (#2020) 2018-11-13 14:59:50 +08:00
BaiJiangJie
28b6144189 [Bugfix] 修复创建用户common_settings.SITE_URL 为None的bug (#2027) 2018-11-13 14:59:29 +08:00
ibuler
f7daf26a03 [Update] 修改celery运行,最大20个进程 2018-11-12 17:47:41 +08:00
ibuler
e1673334af Merge remote-tracking branch 'github/dev' into dev 2018-11-12 16:46:21 +08:00
BaiJiangJie
fd6e561d4b [Bugfix] 资产/用户等升序排序问题,显示创建oss录像存储bucket输入框 (#2017)
* [Bugfix] 修复资产列表,用户列表排序只有降序的问题

* [update] 系统设置创建oss录像存储, 添加bucket输入框
2018-11-12 16:45:57 +08:00
ibuler
4cdddaa493 [Bugfix] 修复网域网关列表的bug 2018-11-12 16:43:35 +08:00
老广
9491827e01 Merge pull request #2014 from jumpserver/dev
Dev
2018-11-11 12:04:00 +08:00
老广
5459d1114f Merge branch 'master' into dev 2018-11-11 11:39:02 +08:00
ibuler
6acda27d67 [Update] 更新版本 2018-11-11 10:38:15 +08:00
BaiJiangJie
0f9326bd8f [Update] 更新OpenID依赖 (#2013) 2018-11-09 15:00:37 +08:00
BaiJiangJie
e09f3ca4fd [Update] 支持 OpenID 认证 (#2008)
* [Update] core支持openid登录,coco还不支持

* [Update] coco支持openid登录

* [Update] 修改注释

* [Update] 修改 OpenID Auth Code Backend 用户认证失败返回None, 不是Anonymoususer

* [Update] 修改OpenID Code用户认证异常捕获

* [Update] 修改OpenID Auth Middleware, check用户是否单点退出的异常捕获

* [Update] 修改config_example Auth OpenID 配置

* [Update] 登录页面添加 更多登录方式

* [Update] 重构OpenID认证架构

* [Update] 修改小细节

* [Update] OpenID用户认证成功后,更新用户来源

* [update] 添加OpenID用户登录成功日志
2018-11-09 14:54:38 +08:00
ibuler
1fcb272ddc [Bugfix] 修复coco tree失败的问题,不应该过滤没有asset的node 2018-11-09 12:33:45 +08:00
ibuler
b577c626f7 [Bugfix] 修复luna取到协议不同的系统用户 2018-11-09 11:23:41 +08:00
ibuler
2e4e5503cc [Bugfix] 修复获取common settings时数据库问题 2018-11-07 11:26:39 +08:00
liuzheng712
4212cb3600 feat: add tencentcloud-sdk-python==3.0.32 2018-11-05 12:48:32 +08:00
ibuler
b8874e1855 [Update] 修改版本号 2018-11-05 11:52:44 +08:00
ibuler
9bb498f7b3 [Update] 修改sdk版本 2018-11-05 11:25:22 +08:00
ibuler
e38d089056 Merge remote-tracking branch 'github/dev' into dev 2018-11-05 11:11:33 +08:00
BaiJiangJie
f9e9bf0b2d [Update] 更新用户/授权规则过期时间精确到min (#1993) 2018-11-05 11:11:20 +08:00
BaiJiangJie
1e5387ef47 [Update] 更新组织管理api (#1986)
* [Update] 更新组织管理api

* [Update] 重写-组织管理员/用户API,采用through类

* [Update] 修改OrgMembershipSerializerMixin目录

* [Update] 修改组织管理API,限制http method

* [Update] 修改rpm依赖
2018-11-02 14:38:44 +08:00
BaiJiangJie
f87e08efff [Update] 添加deb依赖,完善用户登录失败日志,修复资产标签bug (#1983)
* [Update] 修改deb依赖

* [Update] 修改记录用户登录失败日志,用户不存在的情况,但是显示登录日志列表还不全..

* [Update] 用户登录日志,记录用户名不存在的情况(Default组织显示所有用户的登录日志)

* [Bugfix] 修复标签名为search, limit时资产列表不显示的bug
2018-11-01 16:28:19 +08:00
BaiJiangJie
82d866db7d [Update] 添加用户授权资产列表页的分页,搜索,排序 (#1963)
* [Update] 分页获取用户授权资产

* [Update] 修改前端-用户授权资产分页

* [Update] 用户授权资产支持搜索

* [Update] 用户授权资产支持排序

* [Update] 用户授权的节点with资产Api,对资产进行排序

* [Update] 获取用户授权的节点下的资产的api,进行分页、排序、查询

* [Update] 抽象用户授权资产列表的查询,排序

* [Update] 优化小细节

* [Update] 删除无用导入

* [Update] 修改AssetFilterMixins目录从common到perms

* [Update] 资产授权规则列表: 添加分页、搜索

* [Update] 添加管理用户,系统用户列表分页、搜索

* [Update] 用户组列表添加分页,搜索

* [Update] 资产标签列表添加分页、搜索

* [Update] 网域网关列表添加分页、搜索

* [Update] 命令过滤列表添加分页、搜索,修改翻译小细节

* [Update] 删除前端注释initDataTable

* [Update] 修改文案,资产组-节点

* [Update] 普通用户资产列表添加分页、搜索
2018-10-31 15:31:09 +08:00
老广
ba0d822734 Merge pull request #1971 from waiwaiku/master
修复子用户资产列表点击无法收起
2018-10-31 15:30:14 +08:00
fangjian
c8568eb244 修复子用户资产列表点击无法收起 2018-10-31 11:26:24 +08:00
ibuler
6e19b9d5bc [Update] Luna支持异步加载 2018-10-30 12:06:39 +08:00
老广
354b728f75 Merge pull request #1945 from jumpserver/dev_storage
[Update] 更新命令/录像存储设置
2018-10-29 10:07:10 +08:00
老广
ce553710ba Merge pull request #1958 from jumpserver/dev_bugfix_ops
[Bugfix] 修复组织管理员刷新硬件信息,获取资产为None(使用fullname)和查看celery log 403问题
2018-10-29 10:04:57 +08:00
BaiJiangJie
4f806f11f2 [Update] 修改命令/录像存储,创建/删除API的权限为SuperUser 2018-10-28 02:17:46 +08:00
ibuler
e9247dd578 [Update] default组织显示所有用户 2018-10-27 11:34:10 +08:00
老广
0a94a346a0 Merge pull request #1946 from jumpserver/dev_bugfix_perms
[Bugfix] 修复授权规则下Default节点下的资产不显示
2018-10-27 11:14:23 +08:00
老广
d8afe72d4c Merge pull request #1947 from jumpserver/dev_user_paging
[Update] 用户列表页,添加分页,搜索
2018-10-27 11:14:03 +08:00
BaiJiangJie
e2072a1e02 [Update] 修复组织管理员刷新硬件信息,获取资产为None(使用fullname)和查看celery log 403问题 2018-10-26 21:03:09 +08:00
BaiJiangJie
cc387bf511 [Update] 用户列表页,添加分页,搜索 2018-10-24 14:55:04 +08:00
BaiJiangJie
5c002e91ee [Update] 修改获取资产distinct 2018-10-24 13:05:32 +08:00
BaiJiangJie
41a8831034 [Bugfix] 修复授权规则下Default节点下的资产不显示 2018-10-24 12:13:47 +08:00
BaiJiangJie
ebd92c79c7 [Update] 修改翻译小细节 2018-10-24 11:05:39 +08:00
BaiJiangJie
6278900201 [Update] 创建es命令存储,添加提示信息 2018-10-24 10:57:55 +08:00
ibuler
4f580e0df8 [Update] 修改启动脚本 2018-10-24 10:53:00 +08:00
BaiJiangJie
1f502e02c7 [Update] 修改settings为common_settings 2018-10-24 10:48:03 +08:00
BaiJiangJie
cdf8398169 [Update] 修复创建es命令存储校验有效性异常 2018-10-24 10:29:40 +08:00
BaiJiangJie
1bfef829f3 [Update] 修改terminal表单获取storage, 删除无用代码 2018-10-24 10:11:38 +08:00
BaiJiangJie
cc0cf8ed1c Merge branch 'dev' into dev_replay 2018-10-24 09:52:43 +08:00
BaiJiangJie
2791213844 [Update] 更新storage翻译 2018-10-23 20:41:01 +08:00
BaiJiangJie
284e8be45c [Update] 修改系统设置-命令/录像存储页面(添加,删除) 2018-10-23 19:22:18 +08:00
老广
76109f1808 Merge pull request #1938 from jumpserver/dev
Dev
2018-10-23 10:10:53 +08:00
ibuler
54b6e06d1f [Update] 暂时不支持上传目录 2018-10-19 16:30:52 +08:00
ibuler
5c30c76ea3 [Update] 修改jms-storage版本 2018-10-19 10:49:13 +08:00
老广
94b5eb8685 Merge pull request #1929 from jumpserver/dev
Dev
2018-10-19 09:56:52 +08:00
ibuler
c9f4b104c7 Merge remote-tracking branch 'github/dev' into dev 2018-10-19 09:38:18 +08:00
ibuler
3bf1c036c5 [Bugfix] 修改sshpubkey库版本 2018-10-19 09:27:33 +08:00
老广
09fbd3a5ab Merge pull request #1922 from jumpserver/dev
Dev
2018-10-16 17:18:31 +08:00
ibuler
ebecd00581 [Update] 修改优先级逻辑 2018-10-16 16:47:47 +08:00
ibuler
143fa060d1 [Update] 修改节点信息 2018-10-16 13:44:26 +08:00
ibuler
2c18a27e3a [Update] 修改节点创建规则 2018-10-16 12:37:42 +08:00
ibuler
910dd4e593 [Update] 修改节点生成规则 2018-10-16 12:03:11 +08:00
ibuler
11aefa479b [Bugfix] 修复common设置问题 2018-10-16 10:56:25 +08:00
ibuler
abc56016f2 Merge remote-tracking branch 'github/dev' into dev 2018-10-16 10:19:00 +08:00
老广
f44db2a25b Merge pull request #1916 from jumpserver/dev_tag_filter
[Update] 添加(减法)标签过滤器
2018-10-16 10:16:25 +08:00
BaiJiangJie
3fa6807837 [Update] 添加(减法)标签过滤器 2018-10-16 09:53:30 +08:00
ibuler
2c4195d619 Merge remote-tracking branch 'github/dev' into dev 2018-10-15 17:47:32 +08:00
老广
265ef0c8ac Merge pull request #1913 from jumpserver/dev_requirements
[Update] 更新requirements
2018-10-15 17:47:10 +08:00
BaiJiangJie
0b0b06a5c2 [Update] 更新requirements-aliyun 2018-10-15 17:06:01 +08:00
ibuler
d77ba1d5ea Merge remote-tracking branch 'github/dev' into dev 2018-10-15 16:30:08 +08:00
老广
a3bd7cee80 Merge pull request #1912 from jumpserver/dev_cloud_manager
[Update] 修改文案
2018-10-15 16:29:50 +08:00
BaiJiangJie
8d73cd43e1 Merge branch 'dev' into dev_cloud_manager 2018-10-15 16:09:55 +08:00
BaiJiangJie
7e3fd73ae5 [Update] 修改文案 2018-10-15 16:05:53 +08:00
ibuler
70960d2ae4 Merge remote-tracking branch 'github/dev' into dev 2018-10-15 11:34:20 +08:00
老广
d2c574fe9d Merge pull request #1910 from jumpserver/dev_cloud_manager
[Feature] 添加xpack-云管中心模块
2018-10-15 11:30:38 +08:00
BaiJiangJie
a70fcf057b [Update] 修改js,添加3级菜单active属性 2018-10-15 10:48:24 +08:00
ibuler
f37582ec53 [Update] 用户导航加上文件管理 2018-10-15 10:14:20 +08:00
BaiJiangJie
29b87c40fe [Update] 修改云管理模块-文案 2018-10-14 00:03:04 +08:00
BaiJiangJie
1ec77c5bb9 [Update] 添加3级导航菜单-云管理模块 2018-10-12 20:29:04 +08:00
BaiJiangJie
21c71aba93 [Update] Merge branch dev_cloud_manager (baijiangjie_local) to dev 2018-10-12 18:41:01 +08:00
BaiJiangJie
f8db9f480e [Update] 添加翻译-云管理模块 2018-10-12 18:26:56 +08:00
老广
0665644fd0 Merge pull request #1905 from jumpserver/dev
支持命令过滤
2018-10-12 15:33:52 +08:00
ibuler
7bafa546b5 [Update] 修改版本 2018-10-12 15:05:04 +08:00
ibuler
666815b324 [Update] 修改文案 2018-10-12 15:04:01 +08:00
ibuler
532abb86b5 [Update] 添加文案说明和翻译 2018-10-11 11:10:47 +08:00
ibuler
76d4e4ad55 [Update] 修改翻译 2018-10-10 19:31:28 +08:00
ibuler
70fa43adaa [Update] 修改一些逻辑 2018-10-10 19:29:53 +08:00
ibuler
44bf01d4ed [Update] 支持命令过滤 2018-10-10 15:37:20 +08:00
老广
1341983fd3 Merge pull request #1878 from jumpserver/dev
[Update] 更改版本号
2018-10-08 19:13:12 +08:00
ibuler
78936bf9f2 [Update] 更改版本号 2018-10-08 19:03:02 +08:00
老广
9a5d3cb475 Merge pull request #1877 from jumpserver/dev
支持web sftp
2018-10-08 18:57:40 +08:00
ibuler
9bddc29da4 [Update] 暂时不存status数据 2018-09-29 10:44:52 +08:00
ibuler
d68a4d9cae [Update] 修改背景色 2018-09-29 10:28:12 +08:00
ibuler
5457118fb6 [Update] 修改css 2018-09-21 22:49:38 +08:00
ibuler
7ee68f7eeb [Update] 修改static 2018-09-21 20:35:58 +08:00
ibuler
2063f2f257 [Update] Add file to static 2018-09-21 16:37:33 +08:00
ibuler
2637c608a6 [Update] 修改gunicorn配置 2018-09-14 11:29:26 +08:00
老广
32519ea326 Merge pull request #1819 from jumpserver/dev
Dev
2018-09-14 11:08:03 +08:00
ibuler
3ce9d01b6d [Bugfix] 修复coco无法查看资产的bug 2018-09-13 12:16:49 +08:00
ibuler
310bc6ad0b [Update] 修复获取token的bug 2018-09-13 11:41:44 +08:00
ibuler
b54afbe7bb [Bugfix] 修复组织管理员无法查看用户授权的bug 2018-09-13 11:17:55 +08:00
ibuler
ab848afdb9 [Bugfix] 修复创建节点bug 2018-09-12 15:19:40 +08:00
ibuler
5bb867d10d [Update] 添加禁用用户mfa脚本 2018-09-12 11:36:27 +08:00
ibuler
0eda8865e6 [Bugfix] 修复首页显示问题 2018-09-12 11:24:07 +08:00
老广
2a37107abc Merge pull request #1805 from jumpserver/dev
Dev
2018-09-11 16:04:18 +08:00
ibuler
c78107f62f [Bugfix] Remote datepicker bug 2018-09-11 16:01:49 +08:00
ibuler
b022bf36ba [Update] 使用gthread替代eventlet 2018-09-11 12:42:49 +08:00
ibuler
6dc2272a26 [Update] 修复无法取消授权资产的前端bug 2018-09-11 12:17:17 +08:00
老广
1d462aea1b Merge pull request #1796 from jumpserver/dev
Dev
2018-09-07 12:42:55 +08:00
ibuler
88a29c0a93 [Update] 增加手动结束非正常关闭的连接 2018-09-07 12:40:26 +08:00
ibuler
9ffae722f3 [Update] 升级gunicorn版本 2018-09-05 12:26:46 +08:00
老广
9ab2f4bc56 Merge pull request #1780 from jumpserver/dev
[Update] 修改图标
2018-09-05 10:55:26 +08:00
ibuler
41e7f45c20 [Update] 修改图标 2018-09-05 10:53:12 +08:00
老广
9945ac172b Merge pull request #1775 from jumpserver/dev
[Update] 修改web terminal访问bug
2018-09-04 17:10:13 +08:00
ibuler
67ddd42b3d [Update] 修改web terminal访问bug 2018-09-04 17:09:37 +08:00
老广
03adddefa3 Merge pull request #1771 from jumpserver/dev
Dev
2018-09-04 16:05:19 +08:00
ibuler
60b7ccddc0 [Update] 更新翻译 2018-09-04 16:03:42 +08:00
老广
1194932bc0 Merge pull request #1770 from jumpserver/dev
settings加密存储
单独推送系统用户到某个资产
支持了 改密日志 操作日志
翻译更加完善,支持切换语言
2018-09-04 15:29:11 +08:00
ibuler
5c8fd91cf9 [Update] 修复上传录像文件,无法读取的问题 2018-09-04 12:19:20 +08:00
ibuler
bb13003a10 [Bugfix] 修复资产权限 2018-09-03 19:41:44 +08:00
ibuler
9a18817dbb [Bugfix] 修复rdp系统用户密码无法成功的问题 2018-09-03 19:40:06 +08:00
ibuler
2c4966c678 [Update] 修改form 2018-09-03 15:33:35 +08:00
ibuler
d1390a1cd7 [Update] 修改版本 2018-09-03 11:28:56 +08:00
老广
fe45d839fb Dev2 (#1766)
* [Update] 初始化操作日志

* [Feature] 完成操作日志记录

* [Update] 修改mfa失败提示

* [Update] 修改增加created by内容

* [Update] 增加改密日志

* [Update] 登录日志迁移到日志审计中

* [Update] change block user logic, if login success, clean block limit

*  [Update] 更新中/英文翻译(ALL) (#1662)

* Revert "授权页面分页问题"

* 增加命令导出 (#1566)

* [Update] gunicorn不使用eventlet

* [Update] 添加eventlet

* 替换淘宝IP查询接口

* [Feature] 添加命令记录下载功能 (#1559)

* [Feature] 添加命令记录下载功能

* [Update] 文案修改,导出记录、提交,取消全部命令导出

* [Update] 命令导出,修复时间问题

* [Update] paramiko => 2.4.1

* [Update] 修改settings

* [Update] 修改权限判断

* Dev (#1646)

* [Update] 添加org

* [Update] 修改url

* [Update] 完成基本框架

* [Update] 修改一些逻辑

* [Update] 修改用户view

* [Update] 修改资产

* [Update] 修改asset api

* [Update] 修改协议小问题

* [Update] stash it

* [Update] 修改约束

* [Update] 修改外键为org_id

* [Update] 删掉Premiddleware

* [Update] 修改Node

* [Update] 修改get_current_org 为 proxy对象 current_org

* [Bugfix] 解决Node.root() 死循环,移动AdminRequired到permission中 (#1571)

* [Update] 修改permission (#1574)

* Tmp org (#1579)

* [Update] 添加org api, 升级到django 2.0

* [Update] fix some bug

* [Update] 修改一些bug

* [Update] 添加授权规则org (#1580)

* [Update] 修复创建授权规则,显示org_name不是有效UUID的bug

* [Update] 更新org之间隔离授权规则,解决QuerySet与Manager问题;修复创建用户,显示org_name不是有效UUID之bug;

* Tmp org (#1583)

* [Update] 修改一些内容

* [Update] 修改datatable 支持process

* [Bugfix] 修复asset queryset 没有valid方法的bug

* [Update] 在线/历史/命令model添加org;修复命令记录保存org失败bug (#1584)

* [Update] 修复创建授权规则,显示org_name不是有效UUID的bug

* [Update] 更新org之间隔离授权规则,解决QuerySet与Manager问题;修复创建用户,显示org_name不是有效UUID之bug;

* [Update] 在线/历史/命令model添加org

* [Bugfix] 修复命令记录,保存org不成功bug

* [Update] Org功能修改

* [Bugfix] 修复merge带来的问题

* [Update] org admin显示资产详情右侧选项卡;修复资产授权添加用户,会显示其他org用户的bug (#1594)

* [Bugfix] 修复资产授权添加用户,显示其他org的用户bug

* [Update] org admin 显示资产详情右侧选项卡

* Tmp org (#1596)

* [Update] 修改index view

* [Update] 修改nav

* [Update] 修改profile

* [Bugfix] 修复org下普通用户打开web终端看不到已被授权的资产和节点bug

* [Update] 修改get_all_assets

* [Bugfix] 修复节点前面有个空目录

* [Bugfix] 修复merge引起的bug

* [Update] Add init

* [Update] Node get_all_assets 过滤游离资产,条件nodes_key=None -> nodes=None

* [Update] 恢复原来的api地址

* [Update] 修改api

* [Bugfix] 修复org下用户查看我的资产不显示已授权节点/资产的bug

* [Bugfix] Fix perm name unique

* [Bugfix] 修复校验失败api

* [Update] Merge with org

* [Merge] 修改一下bug

* [Update] 暂时修改一些url

* [Update] 修改url 为django 2.0 path

* [Update] 优化datatable 和显示组织优化

* [Update] 升级url

* [Bugfix] 修复coco启动失败(load_config_from_server)、硬件刷新,测试连接,str 没有 decode(… (#1613)

* [Bugfix] 修复coco启动失败(load_config_from_server)、硬件刷新,测试连接,str 没有 decode() method的bug

* [Bugfix] (task任务系统)修复资产连接性测试、硬件刷新和系统用户连接性测试失败等bug

* [Bugfix] 修复一些bug

* [Bugfix] 修复一些bug

*  [Update] 更新org下普通用户的资产详情 (#1619)

* [Update] 更新org下普通用户查看资产详情,只显示数据

* [Update] 优化org下普通用户查看资产详情前端代码

* [Update] 创建/更新用户的role选项;密码强度提示信息中英文; (#1623)

* [Update] 修改 超级管理员/组织管理员 在 创建/更新 用户时role的选项 问题

* [Update] 用户密码强度提示信息支持中英文

* [Update] 修改token返回

* [Update] Asset返回org name

* [Update] 修改支持xpack

* [Update] 修改url

* [Bugfix] 修复不登录就能查看资产的bug

* [Update] 用户修改

* [Bugfix] ...

* [Bugfix] 修复跳转错误的问题

*  [Update] xpack/orgs组织添加删除功能-js; 修复Label继承Org后bug; (#1644)

* [Update] 更新xpack下orgs的翻译信息

* [Update] 更新model Label,继承OrgModelMixin;

* [Update] xpack/orgs组织添加删除功能-js; 修复Label继承Org后bug;

* [Bugfix] 修复小bug

* [Update] 优化一些api

* [Update] 优化用户资产页面

* [Update] 更新 xpack/orgs 删除功能:限制在当前org下删除当前org (#1645)

* [Update] 修改版本号

* [Update] 添加功能: 语言切换(中/英);修改 header_bar <商业支持、文档>显示方式

* [Update] 中/英切换文案修改;修改django_language key 从 settings 中获取

* [Update] 修改Dashboard页面文案,支持英文

* [Update] 更新中/英文翻译(ALL)

* [Update] 解决翻译文件冲突

* [Update] 系统用户支持单独隋松

* [Update] 重置用户MFA

* [Update] 设置session空闲时间

* [Update] 加密setting配置

* [Update] 修改单独推送和测试资产可连接性

*  [Update] 添加功能:用户个人详情页添加 更改MFA操作 (#1748)

* [Update] 添加功能:用户个人详情页添加 更改MFA操作

* [Update] 删除print

* [Bugfix] 添加部分views的权限控制;从组织移除用户,同时从授权规则和用户组中移除此用户。 (#1746)

* [Bugfix] 修复上传command log 为空

* [Update] 修复执行任务的bug

* [Bugfix] 修复将用户从组内移除,其依然具有之前的组权限的bug, perms and user_groups

* [Bugfix] 修复组管理员可以访问部分url-views的bug(如: /settings/)添加views权限控制

* [Update] 修改日志滚动

* [Bugfix] 修复组织权限控制的bug (#1763)

* [Bugfix] 修复将用户从组内移除,其依然具有之前的组权限的bug, perms and user_groups

* [Bugfix] 修复组管理员可以访问部分url-views的bug(如: /settings/)添加views权限控制
2018-09-03 11:24:25 +08:00
老广
9f96f1c537 Merge pull request #1737 from jumpserver/dev
Dev
2018-08-24 12:12:38 +08:00
老广
dc918c031c Merge pull request #1736 from jumpserver/bugfix_run_adhoc
[Update] 修复执行任务的bug
2018-08-24 12:11:27 +08:00
ibuler
6b047ca702 Merge remote-tracking branch 'github/dev' into bugfix_run_adhoc 2018-08-24 12:09:29 +08:00
ibuler
47d31005b5 [Update] 修复执行任务的bug 2018-08-24 12:08:42 +08:00
老广
57e1ca93f0 Merge pull request #1715 from jumpserver/dev
[Bugfix] 修复上传command log 为空
2018-08-20 08:41:15 -05:00
ibuler
483a7617ce [Bugfix] 修复上传command log 为空 2018-08-20 21:39:15 +08:00
老广
5470ab752e Merge pull request #1702 from jumpserver/dev
Dev
2018-08-16 06:19:27 -05:00
ibuler
2dbd6b6f6e [Bugfix] 修复获取资产失败 2018-08-16 18:29:54 +08:00
老广
504d9242c6 Merge pull request #1700 from jumpserver/dev
Dev
2018-08-16 04:47:13 -05:00
ibuler
14b1e3fa13 [Update] 添加backup脚本 2018-08-16 17:08:45 +08:00
ibuler
7eeca511f1 [Bugfix] 修复打印日志的bug 2018-08-16 16:40:00 +08:00
ibuler
670c8a6d0b [Bugfix] 修复唯一认证 2018-08-16 16:32:49 +08:00
老广
a2aa923abe Merge pull request #1698 from jumpserver/dev
Dev
2018-08-15 23:53:49 -05:00
ibuler
2ac5786ba1 [Bugfix] 修复Hostname可能不唯一引起的任务执行失败 2018-08-16 12:44:39 +08:00
ibuler
5b93a1a0a5 [Bugfix] 修复单页面bug 2018-08-15 17:44:06 +08:00
ibuler
00928dd46d [Update] 不选择节点默认导出所有 2018-08-15 15:01:27 +08:00
ibuler
7ddf7f2a79 [Update] 修改cpu的数量问题 2018-08-15 12:00:47 +08:00
ibuler
3533bf588b [Bugfix] 修复修改资产报错无提示的问题 2018-08-14 18:08:07 +08:00
老广
dea007f27b Merge pull request #1688 from jumpserver/dev
[Update] 支持full value
2018-08-14 03:01:12 -05:00
ibuler
cd2b88caee [Update] 修改节点full value 2018-08-14 15:59:53 +08:00
ibuler
1877511acf [Update] 更改组织同事更改节点名称 2018-08-14 10:16:38 +08:00
ibuler
1c5ce61ed0 [Update] 修改Org刷新cache 2018-08-13 18:26:13 +08:00
老广
b1132bfc37 Merge pull request #1683 from jumpserver/dev
Dev
2018-08-13 02:19:27 -05:00
ibuler
75e67410cf [Bugfix] 修复批量更新资产和用户的bug 2018-08-13 15:01:56 +08:00
ibuler
c9d137bc20 [Update] 修改Mixin,允许org_id不填写 2018-08-13 11:44:44 +08:00
ibuler
d97e606503 [Update] 修改django版本 2018-08-13 11:02:00 +08:00
ibuler
e59b95e97a Merge remote-tracking branch 'github/dev' into dev 2018-08-13 10:46:02 +08:00
ibuler
bb6394150d [Update] 修改批量更新资产的bug 2018-08-12 15:52:16 +08:00
ibuler
2354f0c970 [Bugfix] 修复无法批量禁用启用的bug 2018-08-10 17:11:17 +08:00
老广
ae564ed0d4 Merge pull request #1670 from jumpserver/dev
Dev
2018-08-10 03:16:35 -05:00
ibuler
05ecd7497a [Update] 不可以更改root节点名称 2018-08-10 16:11:40 +08:00
ibuler
6b86b8b485 [Bugfix] 修复资产数量不对的bug 2018-08-10 14:46:04 +08:00
老广
fa0bd85fd4 Merge pull request #1667 from jumpserver/dev
[Bugfix] 修复点击资产报错
2018-08-09 21:07:40 -05:00
ibuler
7da46354ca [Update] 去掉debug 2018-08-10 09:29:26 +08:00
ibuler
e41aad1576 [Bugfix] 修复点击资产报错 2018-08-10 09:12:24 +08:00
ibuler
3f049440b7 [Bugfix] 修复可能引起的创建外键失败 2018-08-08 13:10:58 +08:00
老广
4f532f588b Merge pull request #1651 from jumpserver/dev
Dev
2018-08-07 22:48:26 -05:00
老广
a792781b98 Merge branch 'master' into dev 2018-08-07 22:48:12 -05:00
ibuler
3a4c7846bf [Bugfix] 修改创建第一个节点的Bug 2018-08-08 11:44:06 +08:00
ibuler
ccc292d9a9 [Update] 去掉debug信息 2018-08-07 18:38:46 +08:00
pufer
337338ebf3 增加多OU支持 (#1262)
* 增加多OU支持

* Update models.py

need to import LDAPSearchUnion
2018-08-07 05:11:46 -05:00
ibuler
aa3bc7b53a [Update] 权限修改 2018-08-07 16:20:22 +08:00
老广
d5451a482a Dev (#1646)
* [Update] 添加org

* [Update] 修改url

* [Update] 完成基本框架

* [Update] 修改一些逻辑

* [Update] 修改用户view

* [Update] 修改资产

* [Update] 修改asset api

* [Update] 修改协议小问题

* [Update] stash it

* [Update] 修改约束

* [Update] 修改外键为org_id

* [Update] 删掉Premiddleware

* [Update] 修改Node

* [Update] 修改get_current_org 为 proxy对象 current_org

* [Bugfix] 解决Node.root() 死循环,移动AdminRequired到permission中 (#1571)

* [Update] 修改permission (#1574)

* Tmp org (#1579)

* [Update] 添加org api, 升级到django 2.0

* [Update] fix some bug

* [Update] 修改一些bug

* [Update] 添加授权规则org (#1580)

* [Update] 修复创建授权规则,显示org_name不是有效UUID的bug

* [Update] 更新org之间隔离授权规则,解决QuerySet与Manager问题;修复创建用户,显示org_name不是有效UUID之bug;

* Tmp org (#1583)

* [Update] 修改一些内容

* [Update] 修改datatable 支持process

* [Bugfix] 修复asset queryset 没有valid方法的bug

* [Update] 在线/历史/命令model添加org;修复命令记录保存org失败bug (#1584)

* [Update] 修复创建授权规则,显示org_name不是有效UUID的bug

* [Update] 更新org之间隔离授权规则,解决QuerySet与Manager问题;修复创建用户,显示org_name不是有效UUID之bug;

* [Update] 在线/历史/命令model添加org

* [Bugfix] 修复命令记录,保存org不成功bug

* [Update] Org功能修改

* [Bugfix] 修复merge带来的问题

* [Update] org admin显示资产详情右侧选项卡;修复资产授权添加用户,会显示其他org用户的bug (#1594)

* [Bugfix] 修复资产授权添加用户,显示其他org的用户bug

* [Update] org admin 显示资产详情右侧选项卡

* Tmp org (#1596)

* [Update] 修改index view

* [Update] 修改nav

* [Update] 修改profile

* [Bugfix] 修复org下普通用户打开web终端看不到已被授权的资产和节点bug

* [Update] 修改get_all_assets

* [Bugfix] 修复节点前面有个空目录

* [Bugfix] 修复merge引起的bug

* [Update] Add init

* [Update] Node get_all_assets 过滤游离资产,条件nodes_key=None -> nodes=None

* [Update] 恢复原来的api地址

* [Update] 修改api

* [Bugfix] 修复org下用户查看我的资产不显示已授权节点/资产的bug

* [Bugfix] Fix perm name unique

* [Bugfix] 修复校验失败api

* [Update] Merge with org

* [Merge] 修改一下bug

* [Update] 暂时修改一些url

* [Update] 修改url 为django 2.0 path

* [Update] 优化datatable 和显示组织优化

* [Update] 升级url

* [Bugfix] 修复coco启动失败(load_config_from_server)、硬件刷新,测试连接,str 没有 decode(… (#1613)

* [Bugfix] 修复coco启动失败(load_config_from_server)、硬件刷新,测试连接,str 没有 decode() method的bug

* [Bugfix] (task任务系统)修复资产连接性测试、硬件刷新和系统用户连接性测试失败等bug

* [Bugfix] 修复一些bug

* [Bugfix] 修复一些bug

*  [Update] 更新org下普通用户的资产详情 (#1619)

* [Update] 更新org下普通用户查看资产详情,只显示数据

* [Update] 优化org下普通用户查看资产详情前端代码

* [Update] 创建/更新用户的role选项;密码强度提示信息中英文; (#1623)

* [Update] 修改 超级管理员/组织管理员 在 创建/更新 用户时role的选项 问题

* [Update] 用户密码强度提示信息支持中英文

* [Update] 修改token返回

* [Update] Asset返回org name

* [Update] 修改支持xpack

* [Update] 修改url

* [Bugfix] 修复不登录就能查看资产的bug

* [Update] 用户修改

* [Bugfix] ...

* [Bugfix] 修复跳转错误的问题

*  [Update] xpack/orgs组织添加删除功能-js; 修复Label继承Org后bug; (#1644)

* [Update] 更新xpack下orgs的翻译信息

* [Update] 更新model Label,继承OrgModelMixin;

* [Update] xpack/orgs组织添加删除功能-js; 修复Label继承Org后bug;

* [Bugfix] 修复小bug

* [Update] 优化一些api

* [Update] 优化用户资产页面

* [Update] 更新 xpack/orgs 删除功能:限制在当前org下删除当前org (#1645)

* [Update] 修改版本号
2018-08-06 23:34:35 -05:00
ibuler
534734881c [Update] 修改版本号 2018-08-07 11:32:11 +08:00
ibuler
8236c7baa0 Merge remote-tracking branch 'github/dev' into dev 2018-08-06 18:17:38 +08:00
BaiJiangJie
96ec5fac99 [Update] 更新 xpack/orgs 删除功能:限制在当前org下删除当前org (#1645) 2018-08-06 05:17:17 -05:00
ibuler
b7fcf80fc5 [Update] 优化用户资产页面 2018-08-06 18:16:25 +08:00
ibuler
de3695bf97 Merge remote-tracking branch 'github/dev' into dev 2018-08-06 17:17:49 +08:00
ibuler
7c814080b2 [Update] 优化一些api 2018-08-06 17:16:52 +08:00
BaiJiangJie
f5531b6065 [Update] xpack/orgs组织添加删除功能-js; 修复Label继承Org后bug; (#1644)
* [Update] 更新xpack下orgs的翻译信息

* [Update] 更新model Label,继承OrgModelMixin;

* [Update] xpack/orgs组织添加删除功能-js; 修复Label继承Org后bug;

* [Bugfix] 修复小bug
2018-08-06 03:08:05 -05:00
ibuler
b0aa9f197a [Bugfix] 修复跳转错误的问题 2018-08-06 12:20:27 +08:00
ibuler
fc156e23f3 [Bugfix] ... 2018-08-06 10:39:22 +08:00
ibuler
1a05dab572 [Update] 修改user api权限 2018-08-06 10:28:30 +08:00
ibuler
b8ecb6f81d [Update] 用户修改 2018-08-06 10:24:51 +08:00
ibuler
c01936facc [Bugfix] 修复不登录就能查看资产的bug 2018-08-03 10:32:02 +08:00
ibuler
90c629c837 [Update] 修改url 2018-08-03 10:25:41 +08:00
ibuler
c9d192eefc Merge remote-tracking branch 'github/org' into org 2018-08-02 12:37:17 +08:00
ibuler
9c4ebf9c75 [Update] 修改支持xpack 2018-08-02 12:36:31 +08:00
ibuler
37d89b4ea2 Merge branch 'tmp_org' into org 2018-08-01 13:07:12 +08:00
ibuler
87e0e1f2c4 [Update] Asset返回org name 2018-08-01 13:06:50 +08:00
ibuler
183ff09530 [Update] 修改token返回 2018-08-01 12:35:48 +08:00
BaiJiangJie
485a178c0a [Update] 创建/更新用户的role选项;密码强度提示信息中英文; (#1623)
* [Update] 修改 超级管理员/组织管理员 在 创建/更新 用户时role的选项 问题

* [Update] 用户密码强度提示信息支持中英文
2018-07-31 21:44:43 -05:00
BaiJiangJie
227cc4e965 [Update] 更新org下普通用户的资产详情 (#1619)
* [Update] 更新org下普通用户查看资产详情,只显示数据

* [Update] 优化org下普通用户查看资产详情前端代码
2018-07-30 22:18:38 -05:00
ibuler
01bef95e6e Merge remote-tracking branch 'github/org' into org 2018-07-31 11:01:31 +08:00
ibuler
672dd66023 [Bugfix] 修复一些bug 2018-07-31 11:00:48 +08:00
ibuler
c032294b14 [Bugfix] 修复一些bug 2018-07-31 11:00:21 +08:00
BaiJiangJie
6ce813faf8 [Bugfix] 修复coco启动失败(load_config_from_server)、硬件刷新,测试连接,str 没有 decode(… (#1613)
* [Bugfix] 修复coco启动失败(load_config_from_server)、硬件刷新,测试连接,str 没有 decode() method的bug

* [Bugfix] (task任务系统)修复资产连接性测试、硬件刷新和系统用户连接性测试失败等bug
2018-07-30 21:27:55 -05:00
ibuler
aefc18d73b Merge branch 'org' into tmp_org 2018-07-27 19:02:26 +08:00
ibuler
23815f87c5 [Update] 升级url 2018-07-27 18:56:40 +08:00
ibuler
206e037cf2 [Update] 优化datatable 和显示组织优化 2018-07-27 18:55:07 +08:00
ibuler
492fd98882 [Update] 修改url 为django 2.0 path 2018-07-27 17:43:18 +08:00
ibuler
d92d462dab [Update] 暂时修改一些url 2018-07-27 16:54:40 +08:00
ibuler
8afd5ef90a [Merge] 修改一下bug 2018-07-27 16:21:55 +08:00
ibuler
d3dca5d077 [Update] Merge with org 2018-07-27 16:19:19 +08:00
ibuler
9166a26f80 Merge branch 'org' into tmp_org 2018-07-27 16:16:29 +08:00
ibuler
3039284666 [Bugfix] 修复校验失败api 2018-07-27 16:15:04 +08:00
老广
2f395794ef Merge pull request #1602 from jumpserver/bai_org
[Bugfix] 修复org下用户查看我的资产不显示已授权节点/资产的bug
2018-07-27 03:13:59 -05:00
ibuler
c6d50802db [Bugfix] Fix perm name unique 2018-07-27 15:35:12 +08:00
BaiJiangJie
a10e47f72c Merge branch 'org' into michael_org 2018-07-27 15:24:52 +08:00
BaiJiangJie
3dc214d1fa [Bugfix] 修复org下用户查看我的资产不显示已授权节点/资产的bug 2018-07-27 15:24:09 +08:00
ibuler
f7fb36a176 [Update] 修改api 2018-07-27 15:21:14 +08:00
ibuler
0d7295b60e [Update] 恢复原来的api地址 2018-07-27 15:10:48 +08:00
BaiJiangJie
8f654c37a9 [Update] Node get_all_assets 过滤游离资产,条件nodes_key=None -> nodes=None 2018-07-27 13:01:41 +08:00
ibuler
b29a541aa6 [Update] Add init 2018-07-27 12:55:59 +08:00
ibuler
9fd52f6665 [Bugfix] 修复merge引起的bug 2018-07-27 12:14:13 +08:00
ibuler
f4c86718dc [Update] Merge dev 2018-07-27 12:12:32 +08:00
老广
4ff7a1f066 Merge pull request #1600 from jumpserver/bai_org
[Bugfix] 修复org下普通用户打开web终端看不到已被授权的资产和节点bug
2018-07-26 23:08:55 -05:00
ibuler
eca245fdd5 [Bugfix] 修复节点前面有个空目录 2018-07-27 11:59:39 +08:00
ibuler
7e3cf908a1 [Update] 修改get_all_assets 2018-07-27 11:09:37 +08:00
老广
dded4e10fb Merge pull request #1599 from jumpserver/dev
Dev
2018-07-26 21:45:32 -05:00
BaiJiangJie
45a354f848 [Bugfix] 修复org下普通用户打开web终端看不到已被授权的资产和节点bug 2018-07-27 10:42:32 +08:00
ibuler
8386f107c6 Merge remote-tracking branch 'github/dev' into dev 2018-07-26 19:32:23 +08:00
ibuler
5ce3dd4079 [Update] 添加unblock user脚本 2018-07-26 19:30:37 +08:00
老广
a48fb9de8d Tmp org (#1596)
* [Update] 修改index view

* [Update] 修改nav

* [Update] 修改profile
2018-07-26 05:27:09 -05:00
BaiJiangJie
04e7f54c69 [Update] org admin显示资产详情右侧选项卡;修复资产授权添加用户,会显示其他org用户的bug (#1594)
* [Bugfix] 修复资产授权添加用户,显示其他org的用户bug

* [Update] org admin 显示资产详情右侧选项卡
2018-07-26 05:25:44 -05:00
BaiJiangJie
d649aacfd6 [Update] asset platform 取消*required (#1595) 2018-07-26 05:25:14 -05:00
ibuler
7e65e44a3c [Update] 兼容guacamole手动模式上传system user是uuid 2018-07-26 18:12:25 +08:00
ibuler
74c3f12275 [Update] 添加脚本,将windows协议改为rdp 2018-07-26 14:37:10 +08:00
ibuler
8c12c382a5 [Bugfix] 修复merge带来的问题 2018-07-25 18:21:37 +08:00
ibuler
2ecfecb06f [Update] Merge with dev 2018-07-25 18:18:18 +08:00
BaiJiangJie
ac238aa36e [Update] 修改用户登录失败限制次数,3->7 (#1586)
* [Update] 修改用户登录失败限制次数,3->7

* [Update] 修改用户登录失败限制次数,3->7 - 续
2018-07-25 04:51:09 -05:00
ibuler
2abb9efe96 [Update] Org功能修改 2018-07-25 17:21:13 +08:00
BaiJiangJie
f17727deb9 [Update] 在线/历史/命令model添加org;修复命令记录保存org失败bug (#1584)
* [Update] 修复创建授权规则,显示org_name不是有效UUID的bug

* [Update] 更新org之间隔离授权规则,解决QuerySet与Manager问题;修复创建用户,显示org_name不是有效UUID之bug;

* [Update] 在线/历史/命令model添加org

* [Bugfix] 修复命令记录,保存org不成功bug
2018-07-25 02:13:53 -05:00
老广
36f1165d1b Tmp org (#1583)
* [Update] 修改一些内容

* [Update] 修改datatable 支持process

* [Bugfix] 修复asset queryset 没有valid方法的bug
2018-07-25 02:05:28 -05:00
BaiJiangJie
e7c530d8e6 [Update] 添加授权规则org (#1580)
* [Update] 修复创建授权规则,显示org_name不是有效UUID的bug

* [Update] 更新org之间隔离授权规则,解决QuerySet与Manager问题;修复创建用户,显示org_name不是有效UUID之bug;
2018-07-24 22:28:20 -05:00
老广
b156f4ad16 Tmp org (#1579)
* [Update] 添加org api, 升级到django 2.0

* [Update] fix some bug

* [Update] 修改一些bug
2018-07-24 22:21:12 -05:00
老广
16b23a37fe 增加命令导出 (#1566)
* [Update] gunicorn不使用eventlet

* [Update] 添加eventlet

* 替换淘宝IP查询接口

* [Feature] 添加命令记录下载功能 (#1559)

* [Feature] 添加命令记录下载功能

* [Update] 文案修改,导出记录、提交,取消全部命令导出

* [Update] 命令导出,修复时间问题

* [Update] paramiko => 2.4.1

* [Update] 修改settings

* [Update] 修改权限判断
2018-07-24 22:09:58 -05:00
ibuler
e41add6126 Merge remote-tracking branch 'github/dev' into dev 2018-07-25 10:23:18 +08:00
ibuler
f4c31d8e86 [Update] 修改权限判断 2018-07-25 10:22:32 +08:00
ibuler
28e8f204ec Merge remote-tracking branch 'github/dev' into dev 2018-07-24 16:41:17 +08:00
ibuler
80f147cf13 [Update] 修改settings 2018-07-24 16:40:41 +08:00
老广
c816875f28 [Update] 修改permission (#1574) 2018-07-22 23:55:13 -05:00
ibuler
1c56ba5a11 [Update] paramiko => 2.4.1 2018-07-20 18:48:57 +08:00
老广
2208d6d51e [Bugfix] 解决Node.root() 死循环,移动AdminRequired到permission中 (#1571) 2018-07-20 05:42:01 -05:00
ibuler
e3aa18ff2d [Update] 修改get_current_org 为 proxy对象 current_org 2018-07-20 17:49:47 +08:00
ibuler
b5f6f80ae6 [Update] 修改Node 2018-07-20 13:25:50 +08:00
ibuler
bbe4080008 [Update] 删掉Premiddleware 2018-07-20 12:15:45 +08:00
ibuler
cd797b18fb Merge remote-tracking branch 'github/dev' into dev 2018-07-20 11:10:51 +08:00
ibuler
b6523da603 [Update] 修改外键为org_id 2018-07-20 10:54:16 +08:00
ibuler
c24f1a0517 [Update] 修改约束 2018-07-19 19:24:29 +08:00
BaiJiangJie
83f220d7de [Feature] 添加命令记录下载功能 (#1559)
* [Feature] 添加命令记录下载功能

* [Update] 文案修改,导出记录、提交,取消全部命令导出

* [Update] 命令导出,修复时间问题
2018-07-19 05:36:52 -05:00
老广
8e42a65736 Merge pull request #1560 from wojiushixiaobai/dev
[Update]替换淘宝IP查询接口
2018-07-19 05:03:59 -05:00
wojiushixiaobai
e1fff18ce3 替换淘宝IP查询接口 2018-07-19 14:14:58 +08:00
ibuler
3052744203 [Update] 添加eventlet 2018-07-18 19:17:20 +08:00
ibuler
7924b094f8 [Update] gunicorn不使用eventlet 2018-07-18 16:15:35 +08:00
老广
3d34b06203 Merge pull request #1551 from jumpserver/dev
[Bugfix] 修复转义引起的中文乱码问题
2018-07-18 02:33:33 -05:00
ibuler
c94d018d7e [Bugfix] 修复转义引起的中文乱码问题 2018-07-18 15:31:14 +08:00
老广
53086a8977 Merge pull request #1550 from jumpserver/dev
Dev
2018-07-18 02:28:13 -05:00
ibuler
ce1fc0f3e2 [Bugfix] 修复授权列表引起的分页bug 2018-07-18 15:26:58 +08:00
ibuler
c215278978 [Bugfix] 修复授权列表引起的分页bug 2018-07-18 15:24:58 +08:00
老广
061963a316 Merge pull request #1549 from jumpserver/revert-1515-master
Revert "授权页面分页问题"
2018-07-18 01:56:18 -05:00
老广
97b240cfdd Revert "授权页面分页问题" 2018-07-18 14:55:16 +08:00
ibuler
fd5f562cbf [Update] stash it 2018-07-18 12:57:08 +08:00
老广
722bf786f1 Merge pull request #1542 from jumpserver/dev
Dev to master
2018-07-17 04:26:37 -05:00
老广
2cb5876d1a Merge branch 'master' into dev 2018-07-17 04:25:37 -05:00
ibuler
8883e0090f [Update] 更改版本号 2018-07-17 17:12:28 +08:00
ibuler
790652ff4d [Update] 修改协议小问题 2018-07-17 17:09:36 +08:00
ibuler
ff3f74abe6 [Update] 修改api 2018-07-17 12:06:47 +08:00
老广
1a49cf4d9c Merge pull request #1532 from wojiushixiaobai/dev
[Update]修改url地址
2018-07-16 22:24:09 -05:00
ibuler
4d1da56872 [Update] 修改asset api 2018-07-16 14:47:06 +08:00
老广
ff9e109a2c Merge pull request #1533 from jumpserver/update_unblockuser
[Update] 取消系统用户-清除认证信息,取消-网关rdp协议认证信息,添加解除用户登录限制功能
2018-07-16 01:42:30 -05:00
BaiJiangJie
09e636495e [Update] 模版删除unblock的id属性 2018-07-16 12:22:32 +08:00
BaiJiangJie
14076d8fe1 Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-07-16 12:13:59 +08:00
BaiJiangJie
812078331e [Update] 添加解除用户登录限制功能 2018-07-16 12:13:13 +08:00
wojiushixiaobai
696589a3cf 修改url 2018-07-16 12:13:06 +08:00
wojiushixiaobai
7eba46b303 Merge branch 'dev' of https://github.com/jumpserver/jumpserver into dev 2018-07-16 11:01:49 +08:00
wojiushixiaobai
5d63d2369f 合并冲突解决 2018-07-16 11:01:06 +08:00
ibuler
3e17e94245 [Update] 修改资产 2018-07-15 18:39:11 +08:00
ibuler
5648dcd7e7 [Update] 修改用户view 2018-07-15 00:55:05 +08:00
ibuler
28e47f33c1 [Update] 修改一些逻辑 2018-07-14 00:47:21 +08:00
老广
91b3b7ce69 Merge pull request #1515 from wstart/master
授权页面分页问题
2018-07-13 08:22:34 -05:00
老广
8c587a1376 Merge pull request #1523 from wojiushixiaobai/dev
[Update]修改url地址
2018-07-13 08:19:40 -05:00
BaiJiangJie
1182313c1a [Update] 取消系统用户-清除认证信息,取消-网关rdp协议认证信息,添加用户unblock功能 2018-07-13 19:30:48 +08:00
ibuler
7412bdcba7 [Update] 完成基本框架 2018-07-13 15:05:46 +08:00
ibuler
d6ec92d82d [Update] 修改url 2018-07-13 00:31:50 +08:00
ibuler
ad3214641d [Update] 添加org 2018-07-13 00:00:35 +08:00
wojiushixiaobai
9004351ad1 修正字符串 2018-07-12 16:47:35 +08:00
wojiushixiaobai
d3e22a2a90 修改url地址 2018-07-12 10:53:39 +08:00
wstart
fd3df81a64 Update api.py 2018-07-10 17:03:31 +08:00
ycfuck
72517a2c72 授权页面分页
授权页面分页
2018-07-10 16:33:28 +08:00
ibuler
01185a2d07 [Update] 添加gateway api 2018-07-10 16:03:05 +08:00
ibuler
8bfd2be21f [Update] 清除系统用户认证信息时提示 2018-07-10 15:50:15 +08:00
老广
b03ac46df9 Merge pull request #1456 from wojiushixiaobai/dev
[Update]修改提示文字
2018-07-10 02:35:26 -05:00
老广
76be054fcb Merge pull request #1502 from Nevss/patch-1
update docker-guacamole version  to latest
2018-07-10 02:32:06 -05:00
老广
df95c93bb1 Merge pull request #1503 from jumpserver/update_loginlog
[Update] 记录用户登录失败日志,限制用户登录失败次数
2018-07-10 02:31:39 -05:00
ycfuck
eaefb5c669 Revert "资产授权页面增加分页"
This reverts commit 0ddb9476ba.
2018-07-09 16:00:02 +08:00
林峰任1049851
0ddb9476ba 资产授权页面增加分页
资产授权页面增加分页
2018-07-09 15:55:07 +08:00
ibuler
75a9deebdd Merge remote-tracking branch 'github/dev' into dev 2018-07-08 13:03:43 +08:00
ibuler
b6cd4a20c5 [Bugfix] Data table xss attack 2018-07-08 13:02:43 +08:00
BaiJiangJie
435acafccd [Update] 在线会话,历史会话显示登录来源 Web/SSH Terminal 2018-07-06 13:22:20 +08:00
BaiJiangJie
86e4bc5e9a Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-07-06 10:57:42 +08:00
ibuler
315609bc45 Merge remote-tracking branch 'github/dev' into dev 2018-07-06 10:35:31 +08:00
ibuler
814e6a7df8 [Update] 修改sshpass 引号引入密码,特殊字符处理 2018-07-06 10:34:16 +08:00
Nevss
7a7c6d40df update docker-guacamole version to latest
update docker-guacamole version  to latest
2018-07-05 19:08:35 +08:00
BaiJiangJie
5d800fa629 [Update] 修改coco端登录限制次数逻辑 2018-07-05 17:07:03 +08:00
BaiJiangJie
bd14266abd [Update] 修改登录日志模型类的MFA字段默认状态为- 2018-07-05 16:45:05 +08:00
BaiJiangJie
88f36c6f02 Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-07-05 16:23:48 +08:00
BaiJiangJie
512fc8f8f0 [Update] 优化登录失败次数限制的逻辑,并添加系统安全设置选项 2018-07-05 16:23:33 +08:00
ibuler
37bb344166 [Bugfix] 修复网关端口不对的问题 2018-07-05 10:58:52 +08:00
ibuler
f8c2a445f7 [Bugfix] 修改gateway port 2018-07-05 10:26:16 +08:00
BaiJiangJie
ff9b1a887f [Update] 添加用户登录失败次数限制 2018-07-04 16:55:11 +08:00
BaiJiangJie
43370c547a [Update] 登录日志逻辑修改变量名 2018-07-04 10:57:37 +08:00
BaiJiangJie
2eda58eadd Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-07-03 17:48:22 +08:00
BaiJiangJie
e1be867913 [Update] 更新用户登录日志,记录登录失败日志并添加MFA启用状态信息 2018-07-03 17:47:12 +08:00
ibuler
01afcf701c Merge remote-tracking branch 'origin/dev' into dev 2018-07-03 13:24:07 +08:00
ibuler
4002289974 [Bugfix] 修复详情中删除时的bug 2018-07-03 13:23:21 +08:00
ibuler
ef9e03c7ed Merge remote-tracking branch 'github/dev' into dev 2018-07-02 12:11:45 +08:00
老广
442d4e727a Merge pull request #1492 from jumpserver/feature_telnet
[Feature] 添加功能,支持 telnet server.
2018-07-01 22:23:20 -05:00
BaiJiangJie
3993797527 Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-06-29 15:00:15 +08:00
BaiJiangJie
f1f06491d6 [Feature] 添加功能, 支持 telnet server. 2018-06-29 14:59:43 +08:00
ibuler
eb95a0a912 [Bugfix] 修改下载录像没有目录的bug 2018-06-27 10:34:16 +08:00
ibuler
401a7f88a8 [Update] 更新依赖storage的版本 2018-06-26 22:27:16 +08:00
ibuler
0a2ff83ca1 Merge remote-tracking branch 'origin/dev' into dev 2018-06-26 22:14:21 +08:00
ibuler
7276bd0b2a [Update] 更新获取session log的方法,以后统一到media/replay中 2018-06-26 22:13:39 +08:00
wojiushixiaobai
2950613b69 修改提示文字 2018-06-20 15:58:01 +08:00
老广
6fa0562d7a Merge pull request #1441 from chnliyong/master
python-gssapi libkrb5-dev for gssapi/gssapi.h
2018-06-18 21:25:15 -05:00
老广
ef22d33afa Merge pull request #1161 from Nidhoggur1993/dev
更新make_migrations.sh的migration逻辑
2018-06-13 21:53:23 -05:00
老广
86404db6c7 Merge pull request #1414 from leostudio/dev
[fixed #1404]新增Redis DB配置
2018-06-13 21:51:53 -05:00
老广
fdf2807d9b Merge pull request #1419 from jumpserver/feature_login_mode
[Update] 添加功能,系统用户选择登录模式(自动/手动登录)
2018-06-13 21:25:00 -05:00
BaiJiangJie
2e6d238c76 [Bugfix] 修复系统用户选择手动登录,ssh命令行连接获取不到login_mode字段值 2018-06-11 19:09:24 +08:00
BaiJiangJie
f5a4370b80 [Update] 系统用户选择手动登录,取消自动推送 2018-06-11 17:56:20 +08:00
BaiJiangJie
db2273ef27 Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-06-11 16:28:10 +08:00
BaiJiangJie
dd07fa678f [Update] 添加功能,系统用户选择登录模式(自动/手动登录) 2018-06-11 16:27:40 +08:00
老广
e7a731fae9 Merge pull request #1417 from jumpserver/dev
Dev
2018-06-10 22:33:57 -05:00
ibuler
73f9f54620 [Update] 修改版本号 2018-06-11 11:23:32 +08:00
梁志艳
a2f23e9681 新增Redis DB配置 2018-06-09 00:19:57 +08:00
ibuler
dbc471c195 [Bugfix] 修复小错误 2018-06-08 18:40:31 +08:00
ibuler
4c8eb4a94b Merge remote-tracking branch 'github/dev' into dev 2018-06-08 18:34:03 +08:00
老广
9946c4612f Merge pull request #1409 from jokimina/dev_for_pr2
[Update]删除示例配置中未使用的BROKER_URL配置
2018-06-08 05:32:38 -05:00
老广
8a5e1b8223 Merge pull request #1407 from jokimina/dev_for_pr
[Bugfix] 更新用户信息时不填密码也会触发密码规则验证,导致无法更新
2018-06-08 05:31:05 -05:00
老广
06ce098e00 Merge pull request #1408 from jumpserver/bugfix_user_date_expired
[Bugfix] 修复用户失效日期截止后还可登录问题
2018-06-08 05:29:12 -05:00
ibuler
5579d3f0de [Update] 修复测试网关连接known_host问题 2018-06-08 18:28:15 +08:00
xiaodong
1ef582e9ac [Update]删除示例配置中未使用的BROKER_URL配置 2018-06-08 16:39:16 +08:00
BaiJiangJie
221fae5875 [Bugfix] 修复用户失效日期截止后还可登录问题 2018-06-08 16:34:15 +08:00
xiaodong
f4084c800a [Bugfix] 更新用户信息时不填密码也会触发密码规则验证,导致无法更新 2018-06-08 16:20:28 +08:00
老广
5464ac8167 Merge pull request #1397 from jumpserver/feature_security_setting
[Feature] 增加功能,安全设置(全局MFA设置,密码强度校验)
2018-06-06 23:57:48 -05:00
BaiJiangJie
c6a8967376 [Update] 删除多余代码 2018-06-07 12:52:40 +08:00
BaiJiangJie
5f2c31e42c [Update] 重置公钥,添加成功信息(user-pubkey-update)/自动跳转下一步(first-login) 2018-06-07 12:29:55 +08:00
BaiJiangJie
64db02c3f8 [Update] 添加用户来源 db/ldap 2018-06-06 16:59:32 +08:00
BaiJiangJie
842841128f Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-06-06 15:35:40 +08:00
BaiJiangJie
b026e86741 [Update] 修改判断MFA是否全局启用的逻辑,放到User.otp_force_enabled中 2018-06-06 15:35:26 +08:00
老广
283b1c1d64 Merge pull request #1403 from jumpserver/dev
[Update] 修改清理用户组脚本
2018-06-06 02:25:10 -05:00
ibuler
c8c0479ce5 [Update] 修改清理用户组脚本 2018-06-06 15:18:23 +08:00
老广
2a30204c4e Merge pull request #1401 from jumpserver/dev
Dev
2018-06-06 01:57:41 -05:00
ibuler
30afcecf59 Merge remote-tracking branch 'github/dev' into dev 2018-06-06 14:43:11 +08:00
ibuler
80d11bbaab [Update] 删除user group继承的抽象类 2018-06-06 14:42:06 +08:00
ibuler
58e36b5f63 [Bugfix] 暂时还不能删除Tree这个类 2018-06-06 11:13:13 +08:00
ibuler
2c413e8d51 [Bugfix] 修复权限查看引起的bug 2018-06-06 10:49:16 +08:00
老广
17de014ee9 Merge pull request #1400 from jokimina/dev_for_pr
remove useless image
2018-06-05 21:19:08 -05:00
xiaodong
6b2a38c78d remove useless image 2018-06-06 08:17:45 +08:00
BaiJiangJie
fcd17460d7 [Update] 增加密码校验规则中密码最小长度限制6位 2018-06-05 17:56:58 +08:00
BaiJiangJie
4c4430661b [Merge] Merge branch dev of github.com:jumpserver/jumpserver into github_dev 2018-06-05 17:31:55 +08:00
BaiJiangJie
ee35ca3643 [Feature] 增加功能,安全设置(全局MFA设置,密码强度校验) 2018-06-05 17:26:31 +08:00
老广
99c4875dd7 Merge pull request #1395 from jumpserver/dev
Dev
2018-06-04 22:06:58 -05:00
ibuler
482d1bb27f [Update] 修改permisstion util 2018-06-01 16:22:52 +08:00
ibuler
e7c7c3a7a8 Merge branch 'dev' into perm_tree 2018-06-01 15:41:50 +08:00
ibuler
54efc88799 Merge remote-tracking branch 'github/dev' into dev 2018-06-01 15:39:43 +08:00
ibuler
a9d1538135 [Update] 修改一些方法 2018-06-01 15:34:08 +08:00
ibuler
f8ff223f90 [Update] 更新api和model方法 2018-05-31 19:47:57 +08:00
老广
a3f1622a50 Merge pull request #1371 from jumpserver/fix_asset_count
[Update] 修改资产树节点(数量)总显示此节点以及子孙节点下的所有资产总数
2018-05-31 12:31:44 +08:00
老广
0021f2e5e1 Merge pull request #1377 from wojiushixiaobai/dev
[Update]更新自动升级脚本
2018-05-31 12:29:21 +08:00
wojiushixiaobai
dbcad47214 更新升级文档 2018-05-30 11:23:54 +08:00
wojiushixiaobai
6c384b49fe 修改脚本 2018-05-30 11:19:37 +08:00
BaiJiangJie
526943a041 Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-05-29 19:26:19 +08:00
BaiJiangJie
e9d0104a69 Merge branch 'dev' of github.com:jumpserver/jumpserver into fix_asset_count_dev 2018-05-29 19:20:03 +08:00
BaiJiangJie
7c694c6885 [Update] 合并Node的parent.setter方法,修改node_fake的parent逻辑 2018-05-29 19:19:35 +08:00
ibuler
69e5ab438a [Bugfix] 解决发送邮件重启的问题 2018-05-29 18:58:56 +08:00
ibuler
757a31a52f [Update] 优化asset api, 获取时增加prefetch 2018-05-29 13:19:58 +08:00
BaiJiangJie
5b53cfb4dd [Update] 修改资产树节点(数量)总显示此节点下的资产总数 2018-05-29 11:50:09 +08:00
ibuler
b0710c42b0 Merge remote-tracking branch 'github/dev' into dev 2018-05-29 11:27:56 +08:00
老广
d9d82cea5e Merge pull request #1370 from jumpserver/fix_asset_count
[Update] 修改资产树和资产列表数量显示(游离资产)
2018-05-29 11:26:23 +08:00
老广
4f521e5a94 Merge pull request #1369 from gengkeye/master
录像回放API BUG: SessionReplayViewSet
2018-05-29 11:20:23 +08:00
BaiJiangJie
3a2973023c [Update] 修改资产树和资产列表数量显示(游离资产) 2018-05-29 11:17:09 +08:00
oldseven
4f28f85410 #1368 2018-05-29 09:51:55 +08:00
oldseven
a1905ecfdb Merge branch 'master' of https://github.com/jumpserver/jumpserver
Conflicts:
	apps/terminal/api.py
2018-05-29 09:39:30 +08:00
ibuler
47397d2308 [Bugfix] 修复网关测试连接需要ssh信任key的问题 2018-05-28 16:44:00 +08:00
ibuler
7b57d24dc9 [Update] 优化代码 2018-05-28 15:00:06 +08:00
老广
f2216274c5 Merge pull request #1366 from jumpserver/dev
Dev
2018-05-28 13:26:04 +08:00
ibuler
ffabef0040 Merge branch 'large' into dev 2018-05-28 13:20:58 +08:00
ibuler
0b4df78393 [Update] 修改permistion utils优化返回的属性 2018-05-28 13:20:26 +08:00
BaiJiangJie
2fab69ca61 Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-05-28 11:15:48 +08:00
老广
7987056b12 Merge pull request #1365 from jumpserver/dev
Dev修复
2018-05-28 11:05:11 +08:00
BaiJiangJie
f9ab0abc37 Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-05-28 10:58:47 +08:00
ibuler
0bc86543b5 [Update] 修改用户组详情显示授权资产的bug 2018-05-26 21:53:50 +08:00
ibuler
fc2a44621b [Bugfix] 修复右击位置不对的bug 2018-05-25 19:17:57 +08:00
ibuler
9b4b9e6900 [Update] 发送邮件增加用户名显示 2018-05-25 18:13:48 +08:00
老广
62c114d9c4 Merge pull request #1362 from jumpserver/dev
修改树形结构
2018-05-25 17:53:40 +08:00
ibuler
22a84d57ca [Update] 修改树形结构 2018-05-25 17:32:10 +08:00
ibuler
3f4b5ad465 [Update] Merge 2018-05-25 17:28:53 +08:00
ibuler
a96bda8ca9 [Update] 修改树形结构 2018-05-25 17:26:57 +08:00
ibuler
bff3868b8f [Update] 统一requirements版本 2018-05-25 15:23:52 +08:00
老广
8470dce805 Merge pull request #1357 from jumpserver/dev
Dev
2018-05-24 18:58:47 +08:00
ibuler
b9d0d89f66 [Update] 更改版本好 2018-05-24 13:32:20 +08:00
ibuler
5a7192e035 [Update] 修改心跳bug 2018-05-24 13:30:15 +08:00
BaiJiangJie
de2416b173 Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-05-24 12:42:06 +08:00
BaiJiangJie
486793ddcd [Bugfix] 修复取消LDAP认证不成功bug 2018-05-24 12:41:48 +08:00
老广
c40c5ac543 Merge pull request #1355 from jumpserver/dev
调整Luna树形结构修复一些bug
2018-05-24 11:39:01 +08:00
ibuler
c529061ee0 [Bugfix] 修复授权uitls的错误 2018-05-24 11:18:20 +08:00
ibuler
fe52c57a11 [Bugfix] 修复授权uitls的错误 2018-05-24 11:13:22 +08:00
ibuler
f8384973a1 [Update] 调整Luna的树形结构 2018-05-23 15:15:27 +08:00
ibuler
dc1d228e07 [Update] 更新requirements 2018-05-22 19:44:13 +08:00
ibuler
092b33d4d1 [Update] 更新requirements 2018-05-22 19:30:15 +08:00
ibuler
d615eb80b5 [Update] 优化使用storage sdk 2018-05-22 18:22:06 +08:00
ibuler
46520287d9 [Update] 添加清理重复用户组脚本 2018-05-17 15:26:22 +08:00
ibuler
4b7af1457d [Update] 系统用户新增清除认证的操作 2018-05-17 11:39:04 +08:00
BaiJiangJie
c1db33713f [Bugfix] 修复资产授权树root节点bug 2018-05-16 16:12:27 +08:00
老广
c3101dba29 Merge pull request #1334 from jumpserver/dev
Dev
2018-05-16 12:43:54 +08:00
老广
e66cfc2e13 Merge pull request #1333 from jumpserver/update_rdp
[Update] 去掉windows相关无用配置,修复资产树节点移动等问题
2018-05-16 12:42:01 +08:00
BaiJiangJie
ac67c231fc [Update] 修改前端rdp相关配置的选择逻辑 2018-05-16 12:31:13 +08:00
BaiJiangJie
599431f402 [Update] 去掉添加windows相关配置时的一些无用功能,网域网关/会话列表 2018-05-15 17:32:20 +08:00
ibuler
ed18cb317f [Bugfix] 修复创建node api的bug 2018-05-15 15:05:49 +08:00
ibuler
cb4afabc91 [Bugfix] 修复创建node节点的问题,修复windows session的问题 2018-05-15 14:44:02 +08:00
BaiJiangJie
718715cc6d [Update] 创建系统用户选择rdp协议,去掉相关配置的一些无用功能 2018-05-15 12:52:53 +08:00
BaiJiangjie
38f8c5bb72 [Bugfix] 修复资产树节点移动,资产授权树节点下的资产显示问题 2018-05-14 14:21:32 +08:00
ibuler
ebc1b4975a [Update] 自动生成秘钥去掉密码 2018-05-11 18:38:26 +08:00
ibuler
2da87151ed Merge remote-tracking branch 'github/dev' into dev 2018-05-11 12:01:54 +08:00
老广
ab9d457ce0 Merge pull request #1312 from jumpserver/bugfix_asset_tree_node
修复:资产树节点,取消model value unique,并添加唯一性校验,serializers/api中;修改新增节点计数器规则;
2018-05-11 12:01:13 +08:00
BaiJiangjie
cbc4a0a97b [Bugfix] 资产树节点Node Value值校验修改异常抛出为400 2018-05-11 11:27:48 +08:00
ibuler
0031d025aa [Bugfix] 修复上次提交引起的bug 2018-05-11 09:28:20 +08:00
BaiJiangjie
4c53eebdbe Merge branch 'dev' of github.com:jumpserver/jumpserver into github_dev 2018-05-10 21:15:49 +08:00
BaiJiangjie
2583c0b26c [Bugfix] 资产树节点,取消model value unique,并添加唯一性校验,修改新增节点计数器规则 2018-05-10 20:48:16 +08:00
ibuler
ebef4f254a Merge remote-tracking branch 'github/dev' into dev 2018-05-10 12:29:09 +08:00
老广
84d3fa6db0 Merge pull request #1303 from jumpserver/update_asset_tree
[Update] 添加功能:资产树显示全部/只显示当前节点下的资产;修复资产树节点主机数与列表显示不一致
2018-05-10 12:28:34 +08:00
ibuler
e2fa492987 Merge remote-tracking branch 'github/dev' into dev 2018-05-10 12:25:10 +08:00
ibuler
116a04da68 Merge branch 'term_js' into dev 2018-05-10 12:24:09 +08:00
ibuler
7de6af89ad [Update] 使用xterm.js替换原来的term.js 2018-05-10 12:19:37 +08:00
ibuler
8e74a04282 [Update] 修改一些bug 2018-05-09 17:35:46 +08:00
BaiJiangjie
3af01d6a31 [Update] 添加功能:资产树显示全部/只显示当前节点下的资产;修复资产树节点主机数与列表显示不一致 2018-05-08 18:02:19 +08:00
老广
5bfc34a9ea Merge pull request #1301 from jumpserver/dev
Dev
2018-05-08 11:00:26 +08:00
老广
869a84964d Merge branch 'master' into dev 2018-05-08 10:59:59 +08:00
老广
2a8358b1aa Bugfix ldap option (#1300)
* [Update] 修改replay api

* [Bugfix] 修复ldap参数改错引起的bug
2018-05-08 10:48:52 +08:00
ibuler
0a9af98729 [Bugfix] 修复ldap参数改错引起的bug 2018-05-08 10:13:33 +08:00
老广
dfd98f8aea Dev (#1299)
* [Update] 修改版本号

* [Update] 默认关闭定时任务

* [Update] 修改授权列表创建api,返回id

* [Update] 修改用户名校验规则

* Perms return (#1293)

* [Update] 修改版本号

* [Update] 默认关闭定时任务

* [Update] 修改授权列表创建api,返回id

* [Update] 修改用户名校验规则

* [Update] 添加ldap auth timeout时间

* [Update] 修改replay api (#1298)
2018-05-08 09:06:33 +08:00
老广
e9b86ca668 [Update] 修改replay api (#1298) 2018-05-08 09:05:10 +08:00
ibuler
d2b0aba620 [Update] 修改replay api 2018-05-07 19:28:01 +08:00
ibuler
7f670ab709 Merge remote-tracking branch 'github/dev' into dev 2018-05-07 13:13:08 +08:00
ibuler
941e55bdec [Update] 添加ldap auth timeout时间 2018-05-07 13:11:02 +08:00
老广
e630321e55 Perms return (#1293) (#1294)
* [Update] 修改版本号

* [Update] 默认关闭定时任务

* [Update] 修改授权列表创建api,返回id

* [Update] 修改用户名校验规则
2018-05-04 15:04:39 +08:00
老广
01d136cf1e Perms return (#1293)
* [Update] 修改版本号

* [Update] 默认关闭定时任务

* [Update] 修改授权列表创建api,返回id

* [Update] 修改用户名校验规则
2018-05-04 15:01:49 +08:00
ibuler
4ed9e11090 [Update] 修改用户名校验规则 2018-05-04 14:58:52 +08:00
ibuler
cde2e7adb0 [Update] 修改授权列表创建api,返回id 2018-05-04 14:54:58 +08:00
zhangbohan
7a27021d3d 图片调小一些 2018-05-03 23:02:12 +08:00
zhangbohan
966123e4c6 README功能说明修改 2018-05-03 22:48:24 +08:00
ibuler
e291ca9057 [Update] 默认关闭定时任务 2018-05-02 18:15:48 +08:00
ibuler
0b89ff17fd [Update] 修改版本号 2018-05-02 10:48:39 +08:00
oldseven
0d8a600277 #1258 bug fix: 阿里云OSS录像无法回放问题 2018-04-27 15:17:32 +08:00
wojiushixiaobai
7c35e75586 更新自动升级脚本 2018-04-25 19:49:22 +08:00
Nidhoggur1993
4fd83bd5be Update make_migrations.sh
增加自动合并而不是在弹出warning结束
2018-04-03 16:02:51 +08:00
chnliyong
6035d1f130 python-gssapi libkrb5-dev for gssapi/gssapi.h 2018-03-10 10:46:28 +08:00
1207 changed files with 98137 additions and 26425 deletions

View File

@@ -4,4 +4,6 @@ data/*
.github
tmp/*
django.db
celerybeat.pid
celerybeat.pid
### Vagrant ###
.vagrant/

View File

@@ -1,16 +0,0 @@
[简述你的问题]
##### 使用版本
[请提供你使用的Jumpserver版本 0.3.2 或 0.5.0]
##### 问题复现步骤
1. [步骤1]
2. [步骤2]
##### 具体表现[截图可能会更好些,最好能截全]
##### 其他
[注:] 完成后请关闭 issue

10
.github/ISSUE_TEMPLATE/----.md vendored Normal file
View File

@@ -0,0 +1,10 @@
---
name: 需求建议
about: 提出针对本项目的想法和建议
title: "[Feature] "
labels: 类型:需求
assignees: ibuler
---
**请描述您的需求或者改进建议.**

22
.github/ISSUE_TEMPLATE/bug---.md vendored Normal file
View File

@@ -0,0 +1,22 @@
---
name: Bug 提交
about: 提交产品缺陷帮助我们更好的改进
title: "[Bug] "
labels: 类型:bug
assignees: wojiushixiaobai
---
**JumpServer 版本(v1.5.9以下不再支持)**
**浏览器版本**
**Bug 描述**
**Bug 重现步骤(有截图更好)**
1.
2.
3.

10
.github/ISSUE_TEMPLATE/question.md vendored Normal file
View File

@@ -0,0 +1,10 @@
---
name: 问题咨询
about: 提出针对本项目安装部署、使用及其他方面的相关问题
title: "[Question] "
labels: 类型:提问
assignees: wojiushixiaobai
---
**请描述您的问题.**

44
.github/release-config.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
categories:
- title: '🌱 新功能 Features'
labels:
- 'feature'
- 'enhancement'
- 'feat'
- '新功能'
- title: '🚀 性能优化 Optimization'
labels:
- 'perf'
- 'opt'
- 'refactor'
- 'Optimization'
- '优化'
- title: '🐛 Bug修复 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 其它 Maintenance'
labels:
- 'chore'
- 'docs'
exclude-labels:
- 'no'
- '无需处理'
- 'wontfix'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: patch
template: |
## 版本变化 Whats Changed
$CHANGES

View File

@@ -0,0 +1,12 @@
on: [push, pull_request, release]
name: JumpServer repos generic handler
jobs:
generic_handler:
name: Run generic handler
runs-on: ubuntu-latest
steps:
- uses: jumpserver/action-generic-handler@master
env:
GITHUB_TOKEN: ${{ secrets.PRIVATE_TOKEN }}

46
.github/workflows/release-drafter.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
name: Create Release And Upload assets
jobs:
create-realese:
name: Create Release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get version
id: get_version
run: |
TAG=$(basename ${GITHUB_REF})
VERSION=${TAG/v/}
echo "::set-output name=TAG::$TAG"
echo "::set-output name=VERSION::$VERSION"
- name: Create Release
id: create_release
uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
config-name: release-config.yml
version: ${{ steps.get_version.outputs.TAG }}
tag: ${{ steps.get_version.outputs.TAG }}
build-and-release:
needs: create-realese
name: Build and Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build it and upload
uses: jumpserver/action-build-upload-assets@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-realese.outputs.upload_url }}

10
.gitignore vendored
View File

@@ -15,9 +15,10 @@ dump.rdb
.tox
.cache/
.idea/
.vscode/
db.sqlite3
config.py
migrations/
config.yml
*.log
host_rsa_key
*.bat
@@ -32,3 +33,10 @@ django.db
celerybeat-schedule.db
data/static
docs/_build/
xpack
logs/*
### Vagrant ###
.vagrant/
release/*
releashe
/apps/script.py

48
Dockerfile Normal file
View File

@@ -0,0 +1,48 @@
# 编译代码
FROM python:3.8.6-slim as stage-build
MAINTAINER JumpServer Team <ibuler@qq.com>
ARG VERSION
ENV VERSION=$VERSION
WORKDIR /opt/jumpserver
ADD . .
RUN cd utils && bash -ixeu build.sh
# 构建运行时环境
FROM python:3.8.6-slim
ARG PIP_MIRROR=https://pypi.douban.com/simple
ENV PIP_MIRROR=$PIP_MIRROR
ARG PIP_JMS_MIRROR=https://pypi.douban.com/simple
ENV PIP_JMS_MIRROR=$PIP_JMS_MIRROR
WORKDIR /opt/jumpserver
COPY ./requirements/deb_buster_requirements.txt ./requirements/deb_buster_requirements.txt
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \
&& sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \
&& apt update \
&& grep -v '^#' ./requirements/deb_buster_requirements.txt | xargs apt -y install \
&& rm -rf /var/lib/apt/lists/* \
&& localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./requirements/requirements.txt ./requirements/requirements.txt
RUN pip install --upgrade pip==20.2.4 setuptools==49.6.0 wheel==0.34.2 -i ${PIP_MIRROR} \
&& pip config set global.index-url ${PIP_MIRROR} \
&& pip install --no-cache-dir $(grep 'jms' requirements/requirements.txt) -i ${PIP_JMS_MIRROR} \
&& pip install --no-cache-dir -r requirements/requirements.txt
COPY --from=stage-build /opt/jumpserver/release/jumpserver /opt/jumpserver
RUN mkdir -p /root/.ssh/ \
&& echo "Host *\n\tStrictHostKeyChecking no\n\tUserKnownHostsFile /dev/null" > /root/.ssh/config
RUN echo > config.yml
VOLUME /opt/jumpserver/data
VOLUME /opt/jumpserver/logs
ENV LANG=zh_CN.UTF-8
EXPOSE 8070
EXPOSE 8080
ENTRYPOINT ["./entrypoint.sh"]

123
README.md
View File

@@ -1,61 +1,118 @@
## Jumpserver
<p align="center"><a href="https://jumpserver.org"><img src="https://download.jumpserver.org/images/jumpserver-logo.svg" alt="JumpServer" width="300" /></a></p>
<h3 align="center">多云环境下更好用的堡垒机</h3>
[![Python3](https://img.shields.io/badge/python-3.6-green.svg?style=plastic)](https://www.python.org/)
[![Django](https://img.shields.io/badge/django-1.11-brightgreen.svg?style=plastic)](https://www.djangoproject.com/)
[![Ansible](https://img.shields.io/badge/ansible-2.2.2.0-blue.svg?style=plastic)](https://www.ansible.com/)
[![Paramiko](https://img.shields.io/badge/paramiko-2.1.2-green.svg?style=plastic)](http://www.paramiko.org/)
<p align="center">
<a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0"><img src="https://shields.io/github/license/jumpserver/jumpserver" alt="License: GPL v2"></a>
<a href="https://shields.io/github/downloads/jumpserver/jumpserver/total"><img src="https://shields.io/github/downloads/jumpserver/jumpserver/total" alt=" release"></a>
<a href="https://hub.docker.com/u/jumpserver"><img src="https://img.shields.io/docker/pulls/jumpserver/jms_all.svg" alt="Codacy"></a>
<a href="https://github.com/jumpserver/jumpserver"><img src="https://img.shields.io/github/stars/jumpserver/jumpserver?color=%231890FF&style=flat-square" alt="Stars"></a>
</p>
--------------------------
- [ENGLISH](https://github.com/jumpserver/jumpserver/blob/master/README_EN.md)
----
Jumpserver是全球首款完全开源的堡垒机使用GNU GPL v2.0开源协议,是符合 4A 的专业运维审计系统。
JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 规范的运维安全审计系统。
Jumpserver使用Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。
JumpServer 使用 Python 开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好。
Jumpserver采纳分布式架构支持多机房跨区域部署中心节点提供 API各机房部署登录节点可横向扩展、无并发限制。
JumpServer 采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。
改变世界,从一点点开始
改变世界,从一点点开始 ...
----
### 功能
- 统一认证
- 资产管理
- 统一授权
- 审计
- 支持LDAP认证
- Web terminal
- SSH Server
- 支持Windows RDP
### 特色优势
### 开始使用
- 开源: 零门槛,线上快速获取和安装;
- 分布式: 轻松支持大规模并发访问;
- 无插件: 仅需浏览器,极致的 Web Terminal 使用体验;
- 多云支持: 一套系统,同时管理不同云上面的资产;
- 云端存储: 审计录像云端存储,永不丢失;
- 多租户: 一套系统,多个子公司和部门同时使用;
- 多应用支持: 数据库Windows远程应用Kubernetes。
快速开始文档 [Docker安装](http://docs.jumpserver.org/zh/latest/quickstart.html)
一步一步安装文档 [详细部署](http://docs.jumpserver.org/zh/latest/step_by_step.html)
### 快速开始
也可以查看我们完整文档包括了使用和开发 [文档](http://docs.jumpserver.org)
- [极速安装](https://docs.jumpserver.org/zh/master/install/setup_by_fast/)
- [完整文档](https://docs.jumpserver.org)
- [演示视频](https://www.bilibili.com/video/BV1ZV41127GB)
- [手动安装](https://github.com/jumpserver/installer)
### Demo 和 截图
### 组件项目
- [Lina](https://github.com/jumpserver/lina) JumpServer Web UI 项目
- [Luna](https://github.com/jumpserver/luna) JumpServer Web Terminal 项目
- [KoKo](https://github.com/jumpserver/koko) JumpServer 字符协议 Connector 项目,替代原来 Python 版本的 [Coco](https://github.com/jumpserver/coco)
- [Lion](https://github.com/jumpserver/lion-release) JumpServer 图形协议 Connector 项目,依赖 [Apache Guacamole](https://guacamole.apache.org/)
我们提供了DEMO和截图可以让你快速了解Jumpserver
### 社区
[DEMO](http://demo.jumpserver.org)
[截图](http://docs.jumpserver.org/zh/docs/snapshot.html)
如果您在使用过程中有任何疑问或对建议,欢迎提交 [GitHub Issue](https://github.com/jumpserver/jumpserver/issues/new/choose) 或加入到我们的社区当中进行进一步交流沟通。
### SDK
#### 微信交流群
我们还编写了一些SDK供你其它系统快速和Jumpserver APi交互
<img src="https://download.jumpserver.org/images/weixin-group.jpeg" alt="微信群二维码" width="200"/>
- [python](https://github.com/jumpserver/jumpserver-python-sdk) Jumpserver其它组件使用这个SDK完成交互
- [java](https://github.com/KaiJunYan/jumpserver-java-sdk.git) 恺珺同学提供的Java版本的SDK
### 贡献
如果有你好的想法创意,或者帮助我们修复了 Bug, 欢迎提交 Pull Request
感谢以下贡献者,让 JumpServer 更加完善
<a href="https://github.com/jumpserver/jumpserver/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jumpserver/jumpserver" />
</a>
<a href="https://github.com/jumpserver/koko/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jumpserver/koko" />
</a>
<a href="https://github.com/jumpserver/lina/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jumpserver/lina" />
</a>
<a href="https://github.com/jumpserver/luna/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jumpserver/luna" />
</a>
### 致谢
- [Apache Guacamole](https://guacamole.apache.org/) Web页面连接 RDP, SSH, VNC协议设备JumpServer 图形化组件 Lion 依赖
- [OmniDB](https://omnidb.org/) Web页面连接使用数据库JumpServer Web数据库依赖
### JumpServer 企业版
- [申请企业版试用](https://jinshuju.net/f/kyOYpi)
### 案例研究
- [JumpServer 堡垒机护航顺丰科技超大规模资产安全运维](https://blog.fit2cloud.com/?p=1147)
- [JumpServer 堡垒机让“大智慧”的混合 IT 运维更智慧](https://blog.fit2cloud.com/?p=882)
- [携程 JumpServer 堡垒机部署与运营实战](https://blog.fit2cloud.com/?p=851)
- [小红书的JumpServer堡垒机大规模资产跨版本迁移之路](https://blog.fit2cloud.com/?p=516)
- [JumpServer堡垒机助力中手游提升多云环境下安全运维能力](https://blog.fit2cloud.com/?p=732)
- [中通快递JumpServer主机安全运维实践](https://blog.fit2cloud.com/?p=708)
- [东方明珠JumpServer高效管控异构化、分布式云端资产](https://blog.fit2cloud.com/?p=687)
- [江苏农信JumpServer堡垒机助力行业云安全运维](https://blog.fit2cloud.com/?p=666)。
### 安全说明
JumpServer是一款安全产品请参考 [基本安全建议](https://docs.jumpserver.org/zh/master/install/install_security/) 部署安装.
如果你发现安全问题,可以直接联系我们:
- ibuler@fit2cloud.com
- support@fit2cloud.com
- 400-052-0755
### License & Copyright
Copyright (c) 2014-2018 Beijing Duizhan Tech, Inc., All rights reserved.
Copyright (c) 2014-2020 飞致云 FIT2CLOUD, All rights reserved.
Licensed under The GNU General Public License version 2 (GPLv2) (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.gnu.org/licenses/gpl-2.0.html
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

94
README_EN.md Normal file
View File

@@ -0,0 +1,94 @@
<p align="center"><a href="https://jumpserver.org"><img src="https://download.jumpserver.org/images/jumpserver-logo.svg" alt="JumpServer" width="300" /></a></p>
<h3 align="center">Open Source Bastion Host</h3>
<p align="center">
<a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0"><img src="https://shields.io/github/license/jumpserver/jumpserver" alt="License: GPL v2"></a>
<a href="https://shields.io/github/downloads/jumpserver/jumpserver/total"><img src="https://shields.io/github/downloads/jumpserver/jumpserver/total" alt=" release"></a>
<a href="https://hub.docker.com/u/jumpserver"><img src="https://img.shields.io/docker/pulls/jumpserver/jms_all.svg" alt="Codacy"></a>
<a href="https://github.com/jumpserver/jumpserver"><img src="https://img.shields.io/github/stars/jumpserver/jumpserver?color=%231890FF&style=flat-square" alt="Stars"></a>
</p>
JumpServer is the world's first open-source Bastion Host and is licensed under the GNU GPL v2.0. It is a 4A-compliant professional operation and maintenance security audit system.
JumpServer uses Python / Django for development, follows Web 2.0 specifications, and is equipped with an industry-leading Web Terminal solution that provides a beautiful user interface and great user experience
JumpServer adopts a distributed architecture to support multi-branch deployment across multiple cross-regional areas. The central node provides APIs, and login nodes are deployed in each branch. It can be scaled horizontally without concurrency restrictions.
Change the world by taking every little step
----
### Advantages
- Open Source: huge transparency and free to access with quick installation process.
- Distributed: support large-scale concurrent access with ease.
- No Plugin required: all you need is a browser, the ultimate Web Terminal experience.
- Multi-Cloud supported: a unified system to manage assets on different clouds at the same time
- Cloud storage: audit records are stored in the cloud. Data lost no more!
- Multi-Tenant system: multiple subsidiary companies or departments access the same system simultaneously.
- Many applications supported: link to databases, windows remote applications, and Kubernetes cluster, etc.
### JumpServer Component Projects
- [Lina](https://github.com/jumpserver/lina) JumpServer Web UI
- [Luna](https://github.com/jumpserver/luna) JumpServer Web Terminal
- [KoKo](https://github.com/jumpserver/koko) JumpServer Character protocaol Connector, replace original Python Version [Coco](https://github.com/jumpserver/coco)
- [Lion](https://github.com/jumpserver/lion-release) JumpServer Graphics protocol Connectorrely on [Apache Guacamole](https://guacamole.apache.org/)
### Contribution
If you have any good ideas or helping us to fix bugs, please submit a Pull Request and accept our thanks :)
Thanks to the following contributors for making JumpServer better everyday!
<a href="https://github.com/jumpserver/jumpserver/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jumpserver/jumpserver" />
</a>
<a href="https://github.com/jumpserver/koko/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jumpserver/koko" />
</a>
<a href="https://github.com/jumpserver/lina/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jumpserver/lina" />
</a>
<a href="https://github.com/jumpserver/luna/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jumpserver/luna" />
</a>
### Thanks to
- [Apache Guacamole](https://guacamole.apache.org/) Web page connection RDP, SSH, VNC protocol equipment. JumpServer graphical connection dependent.
- [OmniDB](https://omnidb.org/) Web page connection to databases. JumpServer Web database dependent.
### JumpServer Enterprise Version
- [Apply for it](https://jinshuju.net/f/kyOYpi)
### Case Study
- [JumpServer 堡垒机护航顺丰科技超大规模资产安全运维](https://blog.fit2cloud.com/?p=1147)
- [JumpServer 堡垒机让“大智慧”的混合 IT 运维更智慧](https://blog.fit2cloud.com/?p=882)
- [携程 JumpServer 堡垒机部署与运营实战](https://blog.fit2cloud.com/?p=851)
- [小红书的JumpServer堡垒机大规模资产跨版本迁移之路](https://blog.fit2cloud.com/?p=516)
- [JumpServer堡垒机助力中手游提升多云环境下安全运维能力](https://blog.fit2cloud.com/?p=732)
- [中通快递JumpServer主机安全运维实践](https://blog.fit2cloud.com/?p=708)
- [东方明珠JumpServer高效管控异构化、分布式云端资产](https://blog.fit2cloud.com/?p=687)
- [江苏农信JumpServer堡垒机助力行业云安全运维](https://blog.fit2cloud.com/?p=666)。
### For safety instructions
JumpServer is a security product. Please refer to [Basic Security Recommendations](https://docs.jumpserver.org/zh/master/install/install_security/) for deployment and installation.
If you find a security problem, please contact us directly
- ibuler@fit2cloud.com
- support@fit2cloud.com
- 400-052-0755
### License & Copyright
Copyright (c) 2014-2019 Beijing Duizhan Tech, Inc., All rights reserved.
Licensed under The GNU General Public License version 2 (GPLv2) (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.gnu.org/licenses/gpl-2.0.html
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

56
Vagrantfile vendored Normal file
View File

@@ -0,0 +1,56 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box_check_update = false
config.vm.box = "centos/7"
config.vm.hostname = "jumpserver"
config.vm.network "private_network", ip: "172.17.8.101"
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
vb.cpus = 2
vb.name = "jumpserver"
end
config.vm.synced_folder ".", "/vagrant", type: "rsync",
rsync__verbose: true,
rsync__exclude: ['.git*', 'node_modules*','*.log','*.box','Vagrantfile']
config.vm.provision "shell", inline: <<-SHELL
## 设置yum的阿里云源
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
sudo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sudo yum makecache
## 安装依赖包
sudo yum install -y python36 python36-devel python36-pip \
libtiff-devel libjpeg-devel libzip-devel freetype-devel \
lcms2-devel libwebp-devel tcl-devel tk-devel sshpass \
openldap-devel mariadb-devel mysql-devel libffi-devel \
openssh-clients telnet openldap-clients gcc
## 配置pip阿里云源
mkdir /home/vagrant/.pip
cat << EOF | sudo tee -a /home/vagrant/.pip/pip.conf
[global]
timeout = 6000
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
use-mirrors = true
mirrors = https://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com
EOF
python3.6 -m venv /home/vagrant/venv
source /home/vagrant/venv/bin/activate
echo 'source /home/vagrant/venv/bin/activate' >> /home/vagrant/.bash_profile
SHELL
end

2
apps/.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
*.js linguist-language=python
*.html linguist-language=python

View File

@@ -1,5 +1,3 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
__version__ = "1.3.0"

3
apps/acls/admin.py Normal file
View File

@@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

View File

@@ -0,0 +1,3 @@
from .login_acl import *
from .login_asset_acl import *
from .login_asset_check import *

View File

@@ -0,0 +1,19 @@
from common.permissions import IsOrgAdmin, HasQueryParamsUserAndIsCurrentOrgMember
from common.drf.api import JMSBulkModelViewSet
from ..models import LoginACL
from .. import serializers
__all__ = ['LoginACLViewSet', ]
class LoginACLViewSet(JMSBulkModelViewSet):
queryset = LoginACL.objects.all()
filterset_fields = ('name', 'user', )
search_fields = filterset_fields
permission_classes = (IsOrgAdmin, )
serializer_class = serializers.LoginACLSerializer
def get_permissions(self):
if self.action in ["retrieve", "list"]:
self.permission_classes = (IsOrgAdmin, HasQueryParamsUserAndIsCurrentOrgMember)
return super().get_permissions()

View File

@@ -0,0 +1,15 @@
from orgs.mixins.api import OrgBulkModelViewSet
from common.permissions import IsOrgAdmin
from .. import models, serializers
__all__ = ['LoginAssetACLViewSet']
class LoginAssetACLViewSet(OrgBulkModelViewSet):
model = models.LoginAssetACL
filterset_fields = ('name', )
search_fields = filterset_fields
permission_classes = (IsOrgAdmin, )
serializer_class = serializers.LoginAssetACLSerializer

View File

@@ -0,0 +1,77 @@
from django.shortcuts import get_object_or_404
from rest_framework.response import Response
from rest_framework.generics import CreateAPIView, RetrieveDestroyAPIView
from common.permissions import IsAppUser
from common.utils import reverse, lazyproperty
from orgs.utils import tmp_to_org, tmp_to_root_org
from tickets.api import GenericTicketStatusRetrieveCloseAPI
from ..models import LoginAssetACL
from .. import serializers
__all__ = ['LoginAssetCheckAPI', 'LoginAssetConfirmStatusAPI']
class LoginAssetCheckAPI(CreateAPIView):
permission_classes = (IsAppUser, )
serializer_class = serializers.LoginAssetCheckSerializer
def create(self, request, *args, **kwargs):
is_need_confirm, response_data = self.check_if_need_confirm()
return Response(data=response_data, status=200)
def check_if_need_confirm(self):
queries = {
'user': self.serializer.user, 'asset': self.serializer.asset,
'system_user': self.serializer.system_user,
'action': LoginAssetACL.ActionChoices.login_confirm
}
with tmp_to_org(self.serializer.org):
acl = LoginAssetACL.filter(**queries).valid().first()
if not acl:
is_need_confirm = False
response_data = {}
else:
is_need_confirm = True
response_data = self._get_response_data_of_need_confirm(acl)
response_data['need_confirm'] = is_need_confirm
return is_need_confirm, response_data
def _get_response_data_of_need_confirm(self, acl):
ticket = LoginAssetACL.create_login_asset_confirm_ticket(
user=self.serializer.user,
asset=self.serializer.asset,
system_user=self.serializer.system_user,
assignees=acl.reviewers.all(),
org_id=self.serializer.org.id
)
confirm_status_url = reverse(
view_name='api-acls:login-asset-confirm-status',
kwargs={'pk': str(ticket.id)}
)
ticket_detail_url = reverse(
view_name='api-tickets:ticket-detail',
kwargs={'pk': str(ticket.id)},
external=True, api_to_ui=True
)
ticket_detail_url = '{url}?type={type}'.format(url=ticket_detail_url, type=ticket.type)
data = {
'check_confirm_status': {'method': 'GET', 'url': confirm_status_url},
'close_confirm': {'method': 'DELETE', 'url': confirm_status_url},
'ticket_detail_url': ticket_detail_url,
'reviewers': [str(user) for user in ticket.assignees.all()],
}
return data
@lazyproperty
def serializer(self):
serializer = self.get_serializer(data=self.request.data)
serializer.is_valid(raise_exception=True)
return serializer
class LoginAssetConfirmStatusAPI(GenericTicketStatusRetrieveCloseAPI):
pass

5
apps/acls/apps.py Normal file
View File

@@ -0,0 +1,5 @@
from django.apps import AppConfig
class AclsConfig(AppConfig):
name = 'acls'

View File

@@ -0,0 +1,61 @@
# Generated by Django 3.1 on 2021-03-11 09:53
from django.conf import settings
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='LoginACL',
fields=[
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('name', models.CharField(max_length=128, verbose_name='Name')),
('priority', models.IntegerField(default=50, help_text='1-100, the lower the value will be match first', validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(100)], verbose_name='Priority')),
('is_active', models.BooleanField(default=True, verbose_name='Active')),
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
('ip_group', models.JSONField(default=list, verbose_name='Login IP')),
('action', models.CharField(choices=[('reject', 'Reject'), ('allow', 'Allow')], default='reject', max_length=64, verbose_name='Action')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='login_acls', to=settings.AUTH_USER_MODEL, verbose_name='User')),
],
options={
'ordering': ('priority', '-date_updated', 'name'),
},
),
migrations.CreateModel(
name='LoginAssetACL',
fields=[
('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')),
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('name', models.CharField(max_length=128, verbose_name='Name')),
('priority', models.IntegerField(default=50, help_text='1-100, the lower the value will be match first', validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(100)], verbose_name='Priority')),
('is_active', models.BooleanField(default=True, verbose_name='Active')),
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
('users', models.JSONField(verbose_name='User')),
('system_users', models.JSONField(verbose_name='System User')),
('assets', models.JSONField(verbose_name='Asset')),
('action', models.CharField(choices=[('login_confirm', 'Login confirm')], default='login_confirm', max_length=64, verbose_name='Action')),
('reviewers', models.ManyToManyField(blank=True, related_name='review_login_asset_acls', to=settings.AUTH_USER_MODEL, verbose_name='Reviewers')),
],
options={
'ordering': ('priority', '-date_updated', 'name'),
'unique_together': {('name', 'org_id')},
},
),
]

View File

View File

@@ -0,0 +1,2 @@
from .login_acl import *
from .login_asset_acl import *

35
apps/acls/models/base.py Normal file
View File

@@ -0,0 +1,35 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.core.validators import MinValueValidator, MaxValueValidator
from common.mixins import CommonModelMixin
__all__ = ['BaseACL', 'BaseACLQuerySet']
class BaseACLQuerySet(models.QuerySet):
def active(self):
return self.filter(is_active=True)
def inactive(self):
return self.filter(is_active=False)
def valid(self):
return self.active()
def invalid(self):
return self.inactive()
class BaseACL(CommonModelMixin):
name = models.CharField(max_length=128, verbose_name=_('Name'))
priority = models.IntegerField(
default=50, verbose_name=_("Priority"),
help_text=_("1-100, the lower the value will be match first"),
validators=[MinValueValidator(1), MaxValueValidator(100)]
)
is_active = models.BooleanField(default=True, verbose_name=_("Active"))
comment = models.TextField(default='', blank=True, verbose_name=_('Comment'))
class Meta:
abstract = True

View File

@@ -0,0 +1,57 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
from .base import BaseACL, BaseACLQuerySet
from common.utils.ip import contains_ip
class ACLManager(models.Manager):
def valid(self):
return self.get_queryset().valid()
class LoginACL(BaseACL):
class ActionChoices(models.TextChoices):
reject = 'reject', _('Reject')
allow = 'allow', _('Allow')
# 条件
ip_group = models.JSONField(default=list, verbose_name=_('Login IP'))
# 动作
action = models.CharField(
max_length=64, choices=ActionChoices.choices, default=ActionChoices.reject,
verbose_name=_('Action')
)
# 关联
user = models.ForeignKey(
'users.User', on_delete=models.CASCADE, related_name='login_acls', verbose_name=_('User')
)
objects = ACLManager.from_queryset(BaseACLQuerySet)()
class Meta:
ordering = ('priority', '-date_updated', 'name')
def __str__(self):
return self.name
@property
def action_reject(self):
return self.action == self.ActionChoices.reject
@property
def action_allow(self):
return self.action == self.ActionChoices.allow
@staticmethod
def allow_user_to_login(user, ip):
acl = user.login_acls.valid().first()
if not acl:
return True
is_contained = contains_ip(ip, acl.ip_group)
if acl.action_allow and is_contained:
return True
if acl.action_reject and not is_contained:
return True
return False

View File

@@ -0,0 +1,102 @@
from django.db import models
from django.db.models import Q
from django.utils.translation import ugettext_lazy as _
from orgs.mixins.models import OrgModelMixin, OrgManager
from .base import BaseACL, BaseACLQuerySet
from common.utils.ip import contains_ip
class ACLManager(OrgManager):
def valid(self):
return self.get_queryset().valid()
class LoginAssetACL(BaseACL, OrgModelMixin):
class ActionChoices(models.TextChoices):
login_confirm = 'login_confirm', _('Login confirm')
# 条件
users = models.JSONField(verbose_name=_('User'))
system_users = models.JSONField(verbose_name=_('System User'))
assets = models.JSONField(verbose_name=_('Asset'))
# 动作
action = models.CharField(
max_length=64, choices=ActionChoices.choices, default=ActionChoices.login_confirm,
verbose_name=_('Action')
)
# 动作: 附加字段
# - login_confirm
reviewers = models.ManyToManyField(
'users.User', related_name='review_login_asset_acls', blank=True,
verbose_name=_("Reviewers")
)
objects = ACLManager.from_queryset(BaseACLQuerySet)()
class Meta:
unique_together = ('name', 'org_id')
ordering = ('priority', '-date_updated', 'name')
def __str__(self):
return self.name
@classmethod
def filter(cls, user, asset, system_user, action):
queryset = cls.objects.filter(action=action)
queryset = cls.filter_user(user, queryset)
queryset = cls.filter_asset(asset, queryset)
queryset = cls.filter_system_user(system_user, queryset)
return queryset
@classmethod
def filter_user(cls, user, queryset):
queryset = queryset.filter(
Q(users__username_group__contains=user.username) |
Q(users__username_group__contains='*')
)
return queryset
@classmethod
def filter_asset(cls, asset, queryset):
queryset = queryset.filter(
Q(assets__hostname_group__contains=asset.hostname) |
Q(assets__hostname_group__contains='*')
)
ids = [q.id for q in queryset if contains_ip(asset.ip, q.assets.get('ip_group', []))]
queryset = cls.objects.filter(id__in=ids)
return queryset
@classmethod
def filter_system_user(cls, system_user, queryset):
queryset = queryset.filter(
Q(system_users__name_group__contains=system_user.name) |
Q(system_users__name_group__contains='*')
).filter(
Q(system_users__username_group__contains=system_user.username) |
Q(system_users__username_group__contains='*')
).filter(
Q(system_users__protocol_group__contains=system_user.protocol) |
Q(system_users__protocol_group__contains='*')
)
return queryset
@classmethod
def create_login_asset_confirm_ticket(cls, user, asset, system_user, assignees, org_id):
from tickets.const import TicketTypeChoices
from tickets.models import Ticket
data = {
'title': _('Login asset confirm') + ' ({})'.format(user),
'type': TicketTypeChoices.login_asset_confirm,
'meta': {
'apply_login_user': str(user),
'apply_login_asset': str(asset),
'apply_login_system_user': str(system_user),
},
'org_id': org_id,
}
ticket = Ticket.objects.create(**data)
ticket.assignees.set(assignees)
ticket.open(applicant=user)
return ticket

View File

@@ -0,0 +1,3 @@
from .login_acl import *
from .login_asset_acl import *
from .login_asset_check import *

View File

@@ -0,0 +1,59 @@
from django.utils.translation import ugettext as _
from rest_framework import serializers
from common.drf.serializers import BulkModelSerializer
from orgs.utils import current_org
from ..models import LoginACL
from common.utils.ip import is_ip_address, is_ip_network, is_ip_segment
__all__ = ['LoginACLSerializer', ]
def ip_group_child_validator(ip_group_child):
is_valid = ip_group_child == '*' \
or is_ip_address(ip_group_child) \
or is_ip_network(ip_group_child) \
or is_ip_segment(ip_group_child)
if not is_valid:
error = _('IP address invalid: `{}`').format(ip_group_child)
raise serializers.ValidationError(error)
class LoginACLSerializer(BulkModelSerializer):
ip_group_help_text = _(
'Format for comma-delimited string, with * indicating a match all. '
'Such as: '
'192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 '
)
ip_group = serializers.ListField(
default=['*'], label=_('IP'), help_text=ip_group_help_text,
child=serializers.CharField(max_length=1024, validators=[ip_group_child_validator])
)
user_display = serializers.ReadOnlyField(source='user.name', label=_('User'))
action_display = serializers.ReadOnlyField(source='get_action_display', label=_('Action'))
class Meta:
model = LoginACL
fields_mini = ['id', 'name']
fields_small = fields_mini + [
'priority', 'ip_group', 'action', 'action_display',
'is_active',
'date_created', 'date_updated',
'comment', 'created_by',
]
fields_fk = ['user', 'user_display',]
fields = fields_small + fields_fk
extra_kwargs = {
'priority': {'default': 50},
'is_active': {'default': True},
}
@staticmethod
def validate_user(user):
if user not in current_org.get_members():
error = _('The user `{}` is not in the current organization: `{}`').format(
user, current_org
)
raise serializers.ValidationError(error)
return user

View File

@@ -0,0 +1,105 @@
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from assets.models import SystemUser
from acls import models
from orgs.models import Organization
__all__ = ['LoginAssetACLSerializer']
common_help_text = _('Format for comma-delimited string, with * indicating a match all. ')
class LoginAssetACLUsersSerializer(serializers.Serializer):
username_group = serializers.ListField(
default=['*'], child=serializers.CharField(max_length=128), label=_('Username'),
help_text=common_help_text
)
class LoginAssetACLAssestsSerializer(serializers.Serializer):
ip_group_help_text = _(
'Format for comma-delimited string, with * indicating a match all. '
'Such as: '
'192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 '
'(Domain name support)'
)
ip_group = serializers.ListField(
default=['*'], child=serializers.CharField(max_length=1024), label=_('IP'),
help_text=ip_group_help_text
)
hostname_group = serializers.ListField(
default=['*'], child=serializers.CharField(max_length=128), label=_('Hostname'),
help_text=common_help_text
)
class LoginAssetACLSystemUsersSerializer(serializers.Serializer):
protocol_group_help_text = _(
'Format for comma-delimited string, with * indicating a match all. '
'Protocol options: {}'
)
name_group = serializers.ListField(
default=['*'], child=serializers.CharField(max_length=128), label=_('Name'),
help_text=common_help_text
)
username_group = serializers.ListField(
default=['*'], child=serializers.CharField(max_length=128), label=_('Username'),
help_text=common_help_text
)
protocol_group = serializers.ListField(
default=['*'], child=serializers.CharField(max_length=16), label=_('Protocol'),
help_text=protocol_group_help_text.format(
', '.join([SystemUser.Protocol.ssh, SystemUser.Protocol.telnet])
)
)
@staticmethod
def validate_protocol_group(protocol_group):
unsupported_protocols = set(protocol_group) - set(SystemUser.ASSET_CATEGORY_PROTOCOLS + ['*'])
if unsupported_protocols:
error = _('Unsupported protocols: {}').format(unsupported_protocols)
raise serializers.ValidationError(error)
return protocol_group
class LoginAssetACLSerializer(BulkOrgResourceModelSerializer):
users = LoginAssetACLUsersSerializer()
assets = LoginAssetACLAssestsSerializer()
system_users = LoginAssetACLSystemUsersSerializer()
reviewers_amount = serializers.IntegerField(read_only=True, source='reviewers.count')
action_display = serializers.ReadOnlyField(source='get_action_display', label=_('Action'))
class Meta:
model = models.LoginAssetACL
fields_mini = ['id', 'name']
fields_small = fields_mini + [
'users', 'system_users', 'assets',
'is_active',
'date_created', 'date_updated',
'priority', 'action', 'action_display', 'comment', 'created_by', 'org_id'
]
fields_m2m = ['reviewers', 'reviewers_amount']
fields = fields_small + fields_m2m
extra_kwargs = {
"reviewers": {'allow_null': False, 'required': True},
'priority': {'default': 50},
'is_active': {'default': True},
}
def validate_reviewers(self, reviewers):
org_id = self.fields['org_id'].default()
org = Organization.get_instance(org_id)
if not org:
error = _('The organization `{}` does not exist'.format(org_id))
raise serializers.ValidationError(error)
users = org.get_members()
valid_reviewers = list(set(reviewers) & set(users))
if not valid_reviewers:
error = _('None of the reviewers belong to Organization `{}`'.format(org.name))
raise serializers.ValidationError(error)
return valid_reviewers

View File

@@ -0,0 +1,71 @@
from django.utils.translation import ugettext_lazy as _
from rest_framework import serializers
from orgs.utils import tmp_to_root_org
from common.utils import get_object_or_none, lazyproperty
from users.models import User
from assets.models import Asset, SystemUser
__all__ = ['LoginAssetCheckSerializer']
class LoginAssetCheckSerializer(serializers.Serializer):
user_id = serializers.UUIDField(required=True, allow_null=False)
asset_id = serializers.UUIDField(required=True, allow_null=False)
system_user_id = serializers.UUIDField(required=True, allow_null=False)
system_user_username = serializers.CharField(max_length=128, default='')
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.user = None
self.asset = None
self._system_user = None
self._system_user_username = None
def validate_user_id(self, user_id):
self.user = self.validate_object_exist(User, user_id)
return user_id
def validate_asset_id(self, asset_id):
self.asset = self.validate_object_exist(Asset, asset_id)
return asset_id
def validate_system_user_id(self, system_user_id):
self._system_user = self.validate_object_exist(SystemUser, system_user_id)
return system_user_id
def validate_system_user_username(self, system_user_username):
system_user_id = self.initial_data.get('system_user_id')
system_user = self.validate_object_exist(SystemUser, system_user_id)
if self._system_user.login_mode == SystemUser.LOGIN_MANUAL \
and not system_user.username \
and not system_user.username_same_with_user \
and not system_user_username:
error = 'Missing parameter: system_user_username'
raise serializers.ValidationError(error)
self._system_user_username = system_user_username
return system_user_username
@staticmethod
def validate_object_exist(model, field_id):
with tmp_to_root_org():
obj = get_object_or_none(model, pk=field_id)
if not obj:
error = '{} Model object does not exist'.format(model.__name__)
raise serializers.ValidationError(error)
return obj
@lazyproperty
def system_user(self):
if self._system_user.username_same_with_user:
username = self.user.username
elif self._system_user.login_mode == SystemUser.LOGIN_MANUAL:
username = self._system_user_username
else:
username = self._system_user.username
self._system_user.username = username
return self._system_user
@lazyproperty
def org(self):
return self.asset.org

View File

@@ -0,0 +1 @@
from .api_urls import *

View File

@@ -0,0 +1,18 @@
from django.urls import path
from rest_framework_bulk.routes import BulkRouter
from .. import api
app_name = 'acls'
router = BulkRouter()
router.register(r'login-acls', api.LoginACLViewSet, 'login-acl')
router.register(r'login-asset-acls', api.LoginAssetACLViewSet, 'login-asset-acl')
urlpatterns = [
path('login-asset/check/', api.LoginAssetCheckAPI.as_view(), name='login-asset-check'),
path('login-asset-confirm/<uuid:pk>/status/', api.LoginAssetConfirmStatusAPI.as_view(), name='login-asset-confirm-status')
]
urlpatterns += router.urls

0
apps/acls/utils.py Normal file
View File

View File

View File

@@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

View File

@@ -0,0 +1,4 @@
from .application import *
from .account import *
from .mixin import *
from .remote_app import *

View File

@@ -0,0 +1,75 @@
# coding: utf-8
#
from django_filters import rest_framework as filters
from django.db.models import F, Value, CharField
from django.db.models.functions import Concat
from django.http import Http404
from common.drf.filters import BaseFilterSet
from common.drf.api import JMSModelViewSet
from common.utils import unique
from perms.models import ApplicationPermission
from ..hands import IsOrgAdminOrAppUser, IsOrgAdmin, NeedMFAVerify
from .. import serializers
class AccountFilterSet(BaseFilterSet):
username = filters.CharFilter(field_name='username')
app = filters.CharFilter(field_name='applications', lookup_expr='exact')
app_name = filters.CharFilter(field_name='app_name', lookup_expr='exact')
class Meta:
model = ApplicationPermission
fields = ['type', 'category']
class ApplicationAccountViewSet(JMSModelViewSet):
permission_classes = (IsOrgAdmin, )
search_fields = ['username', 'app_name']
filterset_class = AccountFilterSet
filterset_fields = ['username', 'app_name', 'type', 'category']
serializer_class = serializers.ApplicationAccountSerializer
http_method_names = ['get', 'put', 'patch', 'options']
def get_queryset(self):
queryset = ApplicationPermission.objects\
.exclude(system_users__isnull=True) \
.exclude(applications__isnull=True) \
.annotate(uid=Concat(
'applications', Value('_'), 'system_users', output_field=CharField()
)) \
.annotate(systemuser=F('system_users')) \
.annotate(systemuser_display=F('system_users__name')) \
.annotate(username=F('system_users__username')) \
.annotate(password=F('system_users__password')) \
.annotate(app=F('applications')) \
.annotate(app_name=F("applications__name")) \
.values('username', 'password', 'systemuser', 'systemuser_display',
'app', 'app_name', 'category', 'type', 'uid', 'org_id')
return queryset
def get_object(self):
obj = self.get_queryset().filter(
uid=self.kwargs['pk']
).first()
if not obj:
raise Http404()
return obj
def filter_queryset(self, queryset):
queryset = super().filter_queryset(queryset)
queryset_list = unique(queryset, key=lambda x: (x['app'], x['systemuser']))
return queryset_list
@staticmethod
def filter_spm_queryset(resource_ids, queryset):
queryset = queryset.filter(uid__in=resource_ids)
return queryset
class ApplicationAccountSecretViewSet(ApplicationAccountViewSet):
serializer_class = serializers.ApplicationAccountSecretSerializer
permission_classes = [IsOrgAdminOrAppUser, NeedMFAVerify]
http_method_names = ['get', 'options']

View File

@@ -0,0 +1,37 @@
# coding: utf-8
#
from orgs.mixins.api import OrgBulkModelViewSet
from rest_framework.decorators import action
from rest_framework.response import Response
from common.tree import TreeNodeSerializer
from ..hands import IsOrgAdminOrAppUser
from .. import serializers
from ..models import Application
__all__ = ['ApplicationViewSet']
class ApplicationViewSet(OrgBulkModelViewSet):
model = Application
filterset_fields = {
'name': ['exact'],
'category': ['exact'],
'type': ['exact', 'in'],
}
search_fields = ('name', 'type', 'category')
permission_classes = (IsOrgAdminOrAppUser,)
serializer_classes = {
'default': serializers.ApplicationSerializer,
'get_tree': TreeNodeSerializer
}
@action(methods=['GET'], detail=False, url_path='tree')
def get_tree(self, request, *args, **kwargs):
show_count = request.query_params.get('show_count', '1') == '1'
queryset = self.filter_queryset(self.get_queryset())
tree_nodes = Application.create_tree_nodes(queryset, show_count=show_count)
serializer = self.get_serializer(tree_nodes, many=True)
return Response(serializer.data)

View File

@@ -0,0 +1,53 @@
from django.utils.translation import ugettext as _
from common.tree import TreeNode
from orgs.models import Organization
from ..models import Application
__all__ = ['SerializeApplicationToTreeNodeMixin']
class SerializeApplicationToTreeNodeMixin:
@staticmethod
def filter_organizations(applications):
organization_ids = set(applications.values_list('org_id', flat=True))
organizations = [Organization.get_instance(org_id) for org_id in organization_ids]
organizations.sort(key=lambda x: x.name)
return organizations
@staticmethod
def create_root_node():
name = _('My applications')
node = TreeNode(**{
'id': 'applications',
'name': name,
'title': name,
'pId': '',
'open': True,
'isParent': True,
'meta': {
'type': 'root'
}
})
return node
def serialize_applications_with_org(self, applications):
root_node = self.create_root_node()
tree_nodes = [root_node]
organizations = self.filter_organizations(applications)
for i, org in enumerate(organizations):
# 组织节点
org_node = org.as_tree_node(pid=root_node.id)
tree_nodes.append(org_node)
org_applications = applications.filter(org_id=org.id)
count = org_applications.count()
org_node.name += '({})'.format(count)
# 各应用节点
apps_nodes = Application.create_tree_nodes(
queryset=org_applications, root_node=org_node,
show_empty=False
)
tree_nodes += apps_nodes
return tree_nodes

View File

@@ -0,0 +1,19 @@
# coding: utf-8
#
from orgs.mixins import generics
from ..hands import IsAppUser
from .. import models
from ..serializers import RemoteAppConnectionInfoSerializer
from ..permissions import IsRemoteApp
__all__ = [
'RemoteAppConnectionInfoApi',
]
class RemoteAppConnectionInfoApi(generics.RetrieveAPIView):
model = models.Application
permission_classes = (IsAppUser, IsRemoteApp)
serializer_class = RemoteAppConnectionInfoSerializer

View File

@@ -0,0 +1,7 @@
from __future__ import unicode_literals
from django.apps import AppConfig
class ApplicationsConfig(AppConfig):
name = 'applications'

View File

@@ -0,0 +1,67 @@
# coding: utf-8
#
from django.db.models import TextChoices
from django.utils.translation import ugettext_lazy as _
class AppCategory(TextChoices):
db = 'db', _('Database')
remote_app = 'remote_app', _('Remote app')
cloud = 'cloud', 'Cloud'
@classmethod
def get_label(cls, category):
return dict(cls.choices).get(category, '')
class AppType(TextChoices):
# db category
mysql = 'mysql', 'MySQL'
oracle = 'oracle', 'Oracle'
pgsql = 'postgresql', 'PostgreSQL'
mariadb = 'mariadb', 'MariaDB'
# remote-app category
chrome = 'chrome', 'Chrome'
mysql_workbench = 'mysql_workbench', 'MySQL Workbench'
vmware_client = 'vmware_client', 'vSphere Client'
custom = 'custom', _('Custom')
# cloud category
k8s = 'k8s', 'Kubernetes'
@classmethod
def category_types_mapper(cls):
return {
AppCategory.db: [cls.mysql, cls.oracle, cls.pgsql, cls.mariadb],
AppCategory.remote_app: [cls.chrome, cls.mysql_workbench, cls.vmware_client, cls.custom],
AppCategory.cloud: [cls.k8s]
}
@classmethod
def type_category_mapper(cls):
mapper = {}
for category, tps in cls.category_types_mapper().items():
for tp in tps:
mapper[tp] = category
return mapper
@classmethod
def get_label(cls, tp):
return dict(cls.choices).get(tp, '')
@classmethod
def db_types(cls):
return [tp.value for tp in cls.category_types_mapper()[AppCategory.db]]
@classmethod
def remote_app_types(cls):
return [tp.value for tp in cls.category_types_mapper()[AppCategory.remote_app]]
@classmethod
def cloud_types(cls):
return [tp.value for tp in cls.category_types_mapper()[AppCategory.cloud]]

View File

@@ -0,0 +1,15 @@
"""
jumpserver.__app__.hands.py
~~~~~~~~~~~~~~~~~
This app depends other apps api, function .. should be import or write mack here.
Other module of this app shouldn't connect with other app.
:copyright: (c) 2014-2018 by JumpServer Team.
:license: GPL v2, see LICENSE for more details.
"""
from common.permissions import IsAppUser, IsOrgAdmin, IsValidUser, IsOrgAdminOrAppUser, NeedMFAVerify
from users.models import User, UserGroup

View File

@@ -0,0 +1,42 @@
# Generated by Django 2.1.7 on 2019-05-20 11:04
import common.fields.model
from django.db import migrations, models
import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
initial = True
dependencies = [
('assets', '0026_auto_20190325_2035'),
]
operations = [
migrations.CreateModel(
name='RemoteApp',
fields=[
('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')),
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('name', models.CharField(max_length=128, verbose_name='Name')),
('type', models.CharField(choices=[('Browser', (('chrome', 'Chrome'),)), ('Database tools', (('mysql_workbench', 'MySQL Workbench'),)), ('Virtualization tools', (('vmware_client', 'vSphere Client'),)), ('custom', 'Custom')], default='chrome', max_length=128, verbose_name='App type')),
('path', models.CharField(max_length=128, verbose_name='App path')),
('params', common.fields.model.EncryptJsonDictTextField(blank=True, default={}, max_length=4096, null=True, verbose_name='Parameters')),
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
('comment', models.TextField(blank=True, default='', max_length=128, verbose_name='Comment')),
('asset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.Asset', verbose_name='Asset')),
('system_user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.SystemUser', verbose_name='System user')),
],
options={
'verbose_name': 'RemoteApp',
'ordering': ('name',),
},
),
migrations.AlterUniqueTogether(
name='remoteapp',
unique_together={('org_id', 'name')},
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 2.1.7 on 2019-09-09 09:57
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('applications', '0001_initial'),
('perms', '0009_remoteapppermission_system_users'),
]
operations = [
migrations.RemoveField(
model_name='remoteapp',
name='system_user',
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 2.1.11 on 2019-12-10 08:59
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('applications', '0002_remove_remoteapp_system_user'),
]
operations = [
migrations.AlterField(
model_name='remoteapp',
name='type',
field=models.CharField(choices=[('chrome', 'Chrome'), ('mysql_workbench', 'MySQL Workbench'), ('vmware_client', 'vSphere Client'), ('custom', 'Custom')], default='chrome', max_length=128, verbose_name='App type'),
),
]

View File

@@ -0,0 +1,38 @@
# Generated by Django 2.1.11 on 2019-12-18 09:05
from django.db import migrations, models
import uuid
class Migration(migrations.Migration):
dependencies = [
('applications', '0003_auto_20191210_1659'),
]
operations = [
migrations.CreateModel(
name='DatabaseApp',
fields=[
('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')),
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('name', models.CharField(max_length=128, verbose_name='Name')),
('type', models.CharField(choices=[('mysql', 'MySQL')], default='mysql', max_length=128, verbose_name='Type')),
('host', models.CharField(db_index=True, max_length=128, verbose_name='Host')),
('port', models.IntegerField(default=3306, verbose_name='Port')),
('database', models.CharField(blank=True, db_index=True, max_length=128, null=True, verbose_name='Database')),
('comment', models.TextField(blank=True, default='', max_length=128, verbose_name='Comment')),
],
options={
'verbose_name': 'DatabaseApp',
'ordering': ('name',),
},
),
migrations.AlterUniqueTogether(
name='databaseapp',
unique_together={('org_id', 'name')},
),
]

View File

@@ -0,0 +1,34 @@
# Generated by Django 2.2.13 on 2020-08-07 07:13
from django.db import migrations, models
import uuid
class Migration(migrations.Migration):
dependencies = [
('applications', '0004_auto_20191218_1705'),
]
operations = [
migrations.CreateModel(
name='K8sApp',
fields=[
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')),
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')),
('name', models.CharField(max_length=128, verbose_name='Name')),
('type', models.CharField(choices=[('k8s', 'Kubernetes')], default='k8s', max_length=128, verbose_name='Type')),
('cluster', models.CharField(max_length=1024, verbose_name='Cluster')),
('comment', models.TextField(blank=True, default='', max_length=128, verbose_name='Comment')),
],
options={
'verbose_name': 'KubernetesApp',
'ordering': ('name',),
'unique_together': {('org_id', 'name')},
},
),
]

View File

@@ -0,0 +1,140 @@
# Generated by Django 2.2.13 on 2020-10-19 12:01
from django.db import migrations, models
import django.db.models.deletion
import django_mysql.models
import uuid
CATEGORY_DB_LIST = ['mysql', 'oracle', 'postgresql', 'mariadb']
CATEGORY_REMOTE_LIST = ['chrome', 'mysql_workbench', 'vmware_client', 'custom']
CATEGORY_CLOUD_LIST = ['k8s']
CATEGORY_DB = 'db'
CATEGORY_REMOTE = 'remote_app'
CATEGORY_CLOUD = 'cloud'
CATEGORY_LIST = [CATEGORY_DB, CATEGORY_REMOTE, CATEGORY_CLOUD]
def get_application_category(old_app):
_type = old_app.type
if _type in CATEGORY_DB_LIST:
category = CATEGORY_DB
elif _type in CATEGORY_REMOTE_LIST:
category = CATEGORY_REMOTE
elif _type in CATEGORY_CLOUD_LIST:
category = CATEGORY_CLOUD
else:
category = None
return category
def common_to_application_json(old_app):
category = get_application_category(old_app)
date_updated = old_app.date_updated if hasattr(old_app, 'date_updated') else old_app.date_created
return {
'id': old_app.id,
'name': old_app.name,
'type': old_app.type,
'category': category,
'comment': old_app.comment,
'created_by': old_app.created_by,
'date_created': old_app.date_created,
'date_updated': date_updated,
'org_id': old_app.org_id
}
def db_to_application_json(database):
app_json = common_to_application_json(database)
app_json.update({
'attrs': {
'host': database.host,
'port': database.port,
'database': database.database
}
})
return app_json
def remote_to_application_json(remote):
app_json = common_to_application_json(remote)
attrs = {
'asset': str(remote.asset.id),
'path': remote.path,
}
attrs.update(remote.params)
app_json.update({
'attrs': attrs
})
return app_json
def k8s_to_application_json(k8s):
app_json = common_to_application_json(k8s)
app_json.update({
'attrs': {
'cluster': k8s.cluster
}
})
return app_json
def migrate_and_integrate_applications(apps, schema_editor):
db_alias = schema_editor.connection.alias
database_app_model = apps.get_model("applications", "DatabaseApp")
remote_app_model = apps.get_model("applications", "RemoteApp")
k8s_app_model = apps.get_model("applications", "K8sApp")
database_apps = database_app_model.objects.using(db_alias).all()
remote_apps = remote_app_model.objects.using(db_alias).all()
k8s_apps = k8s_app_model.objects.using(db_alias).all()
database_applications = [db_to_application_json(db_app) for db_app in database_apps]
remote_applications = [remote_to_application_json(remote_app) for remote_app in remote_apps]
k8s_applications = [k8s_to_application_json(k8s_app) for k8s_app in k8s_apps]
applications_json = database_applications + remote_applications + k8s_applications
application_model = apps.get_model("applications", "Application")
applications = [
application_model(**application_json)
for application_json in applications_json
if application_json['category'] in CATEGORY_LIST
]
for application in applications:
if application_model.objects.using(db_alias).filter(name=application.name).exists():
application.name = '{}-{}'.format(application.name, application.type)
application.save()
class Migration(migrations.Migration):
dependencies = [
('assets', '0057_fill_node_value_assets_amount_and_parent_key'),
('applications', '0005_k8sapp'),
]
operations = [
migrations.CreateModel(
name='Application',
fields=[
('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')),
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('name', models.CharField(max_length=128, verbose_name='Name')),
('category', models.CharField(choices=[('db', 'Database'), ('remote_app', 'Remote app'), ('cloud', 'Cloud')], max_length=16, verbose_name='Category')),
('type', models.CharField(choices=[('mysql', 'MySQL'), ('oracle', 'Oracle'), ('postgresql', 'PostgreSQL'), ('mariadb', 'MariaDB'), ('chrome', 'Chrome'), ('mysql_workbench', 'MySQL Workbench'), ('vmware_client', 'vSphere Client'), ('custom', 'Custom'), ('k8s', 'Kubernetes')], max_length=16, verbose_name='Type')),
('attrs', django_mysql.models.JSONField(default=dict)),
('comment', models.TextField(blank=True, default='', max_length=128, verbose_name='Comment')),
('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='applications', to='assets.Domain', verbose_name='Domain')),
],
options={
'ordering': ('name',),
'unique_together': {('org_id', 'name')},
},
),
migrations.RunPython(migrate_and_integrate_applications),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 3.1 on 2020-11-19 03:10
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('applications', '0006_application'),
]
operations = [
migrations.AlterField(
model_name='application',
name='attrs',
field=models.JSONField(),
),
]

View File

@@ -0,0 +1,28 @@
# Generated by Django 3.1 on 2021-01-03 20:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('perms', '0017_auto_20210104_0435'),
('applications', '0007_auto_20201119_1110'),
]
operations = [
migrations.DeleteModel(
name='DatabaseApp',
),
migrations.DeleteModel(
name='K8sApp',
),
migrations.AlterField(
model_name='application',
name='attrs',
field=models.JSONField(default=dict, verbose_name='Attrs'),
),
migrations.DeleteModel(
name='RemoteApp',
),
]

View File

@@ -0,0 +1,25 @@
# Generated by Django 3.1.6 on 2021-06-23 09:48
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('assets', '0070_auto_20210426_1515'),
('applications', '0008_auto_20210104_0435'),
]
operations = [
migrations.CreateModel(
name='ApplicationUser',
fields=[
],
options={
'proxy': True,
'indexes': [],
'constraints': [],
},
bases=('assets.systemuser',),
),
]

View File

View File

@@ -0,0 +1 @@
from .application import *

View File

View File

@@ -0,0 +1,230 @@
from collections import defaultdict
from django.db import models
from django.utils.translation import ugettext_lazy as _
from orgs.mixins.models import OrgModelMixin
from common.mixins import CommonModelMixin
from common.tree import TreeNode
from assets.models import Asset, SystemUser
from .. import const
class ApplicationTreeNodeMixin:
id: str
name: str
type: str
category: str
@classmethod
def create_choice_node(cls, c, id_, pid, tp, opened=False, counts=None,
show_empty=True, show_count=True):
count = counts.get(c.value, 0)
if count == 0 and not show_empty:
return None
label = c.label
if count is not None and show_count:
label = '{} ({})'.format(label, count)
data = {
'id': id_,
'name': label,
'title': label,
'pId': pid,
'isParent': bool(count),
'open': opened,
'iconSkin': '',
'meta': {
'type': tp,
'data': {
'name': c.name,
'value': c.value
}
}
}
return TreeNode(**data)
@classmethod
def create_root_tree_node(cls, queryset, show_count=True):
count = queryset.count() if show_count else None
root_id = 'applications'
root_name = _('Applications')
if count is not None and show_count:
root_name = '{} ({})'.format(root_name, count)
node = TreeNode(**{
'id': root_id,
'name': root_name,
'title': root_name,
'pId': '',
'isParent': True,
'open': True,
'iconSkin': '',
'meta': {
'type': 'applications_root',
}
})
return node
@classmethod
def create_category_tree_nodes(cls, root_node, counts=None, show_empty=True, show_count=True):
nodes = []
categories = const.AppType.category_types_mapper().keys()
for category in categories:
i = root_node.id + '_' + category.value
node = cls.create_choice_node(
category, i, pid=root_node.id, tp='category',
counts=counts, opened=False, show_empty=show_empty,
show_count=show_count
)
if not node:
continue
nodes.append(node)
return nodes
@classmethod
def create_types_tree_nodes(cls, root_node, counts, show_empty=True, show_count=True):
nodes = []
type_category_mapper = const.AppType.type_category_mapper()
for tp in const.AppType.type_category_mapper().keys():
category = type_category_mapper.get(tp)
pid = root_node.id + '_' + category.value
i = root_node.id + '_' + tp.value
node = cls.create_choice_node(
tp, i, pid, tp='type', counts=counts, opened=False,
show_empty=show_empty, show_count=show_count
)
if not node:
continue
nodes.append(node)
return nodes
@staticmethod
def get_tree_node_counts(queryset):
counts = defaultdict(int)
values = queryset.values_list('type', 'category')
for i in values:
tp = i[0]
category = i[1]
counts[tp] += 1
counts[category] += 1
return counts
@classmethod
def create_tree_nodes(cls, queryset, root_node=None, show_empty=True, show_count=True):
counts = cls.get_tree_node_counts(queryset)
tree_nodes = []
# 根节点有可能是组织名称
if root_node is None:
root_node = cls.create_root_tree_node(queryset, show_count=show_count)
tree_nodes.append(root_node)
# 类别的节点
tree_nodes += cls.create_category_tree_nodes(
root_node, counts, show_empty=show_empty,
show_count=show_count
)
# 类型的节点
tree_nodes += cls.create_types_tree_nodes(
root_node, counts, show_empty=show_empty,
show_count=show_count
)
# 应用的节点
for app in queryset:
pid = root_node.id + '_' + app.type
tree_nodes.append(app.as_tree_node(pid))
return tree_nodes
def as_tree_node(self, pid):
icon_skin_category_mapper = {
'remote_app': 'chrome',
'db': 'database',
'cloud': 'cloud'
}
icon_skin = icon_skin_category_mapper.get(self.category, 'file')
node = TreeNode(**{
'id': str(self.id),
'name': self.name,
'title': self.name,
'pId': pid,
'isParent': False,
'open': False,
'iconSkin': icon_skin,
'meta': {
'type': 'application',
'data': {
'category': self.category,
'type': self.type,
}
}
})
return node
class Application(CommonModelMixin, OrgModelMixin, ApplicationTreeNodeMixin):
name = models.CharField(max_length=128, verbose_name=_('Name'))
category = models.CharField(
max_length=16, choices=const.AppCategory.choices, verbose_name=_('Category')
)
type = models.CharField(
max_length=16, choices=const.AppType.choices, verbose_name=_('Type')
)
domain = models.ForeignKey(
'assets.Domain', null=True, blank=True, related_name='applications',
on_delete=models.SET_NULL, verbose_name=_("Domain"),
)
attrs = models.JSONField(default=dict, verbose_name=_('Attrs'))
comment = models.TextField(
max_length=128, default='', blank=True, verbose_name=_('Comment')
)
class Meta:
unique_together = [('org_id', 'name')]
ordering = ('name',)
def __str__(self):
category_display = self.get_category_display()
type_display = self.get_type_display()
return f'{self.name}({type_display})[{category_display}]'
@property
def category_remote_app(self):
return self.category == const.AppCategory.remote_app.value
def get_rdp_remote_app_setting(self):
from applications.serializers.attrs import get_serializer_class_by_application_type
if not self.category_remote_app:
raise ValueError(f"Not a remote app application: {self.name}")
serializer_class = get_serializer_class_by_application_type(self.type)
fields = serializer_class().get_fields()
parameters = [self.type]
for field_name in list(fields.keys()):
if field_name in ['asset']:
continue
value = self.attrs.get(field_name)
if not value:
continue
if field_name == 'path':
value = '\"%s\"' % value
parameters.append(str(value))
parameters = ' '.join(parameters)
return {
'program': '||jmservisor',
'working_directory': '',
'parameters': parameters
}
def get_remote_app_asset(self):
asset_id = self.attrs.get('asset')
if not asset_id:
raise ValueError("Remote App not has asset attr")
asset = Asset.objects.filter(id=asset_id).first()
return asset
class ApplicationUser(SystemUser):
class Meta:
proxy = True

View File

@@ -0,0 +1,9 @@
from rest_framework import permissions
__all__ = ['IsRemoteApp']
class IsRemoteApp(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
return obj.category_remote_app

View File

@@ -0,0 +1,2 @@
from .application import *
from .remote_app import *

View File

@@ -0,0 +1,110 @@
# coding: utf-8
#
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from orgs.models import Organization
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from common.drf.serializers import MethodSerializer
from .attrs import category_serializer_classes_mapping, type_serializer_classes_mapping
from .. import models
from .. import const
__all__ = [
'ApplicationSerializer', 'ApplicationSerializerMixin',
'ApplicationAccountSerializer', 'ApplicationAccountSecretSerializer'
]
class ApplicationSerializerMixin(serializers.Serializer):
attrs = MethodSerializer()
def get_attrs_serializer(self):
default_serializer = serializers.Serializer(read_only=True)
if isinstance(self.instance, models.Application):
_type = self.instance.type
_category = self.instance.category
else:
_type = self.context['request'].query_params.get('type')
_category = self.context['request'].query_params.get('category')
if _type:
serializer_class = type_serializer_classes_mapping.get(_type)
elif _category:
serializer_class = category_serializer_classes_mapping.get(_category)
else:
serializer_class = default_serializer
if not serializer_class:
serializer_class = default_serializer
if isinstance(serializer_class, type):
serializer = serializer_class()
else:
serializer = serializer_class
return serializer
class ApplicationSerializer(ApplicationSerializerMixin, BulkOrgResourceModelSerializer):
category_display = serializers.ReadOnlyField(source='get_category_display', label=_('Category display'))
type_display = serializers.ReadOnlyField(source='get_type_display', label=_('Type display'))
class Meta:
model = models.Application
fields_mini = ['id', 'name']
fields_small = fields_mini + [
'category', 'category_display', 'type', 'type_display',
'attrs', 'date_created', 'date_updated', 'created_by', 'comment'
]
fields_fk = ['domain']
fields = fields_small + fields_fk
read_only_fields = [
'created_by', 'date_created', 'date_updated', 'get_type_display',
]
def validate_attrs(self, attrs):
_attrs = self.instance.attrs if self.instance else {}
_attrs.update(attrs)
return _attrs
class ApplicationAccountSerializer(serializers.Serializer):
id = serializers.ReadOnlyField(label=_("Id"), source='uid')
username = serializers.ReadOnlyField(label=_("Username"))
password = serializers.CharField(write_only=True, label=_("Password"))
systemuser = serializers.ReadOnlyField(label=_('System user'))
systemuser_display = serializers.ReadOnlyField(label=_("System user display"))
app = serializers.ReadOnlyField(label=_('App'))
app_name = serializers.ReadOnlyField(label=_("Application name"), read_only=True)
category = serializers.ChoiceField(label=_('Category'), choices=const.AppCategory.choices, read_only=True)
category_display = serializers.SerializerMethodField(label=_('Category display'))
type = serializers.ChoiceField(label=_('Type'), choices=const.AppType.choices, read_only=True)
type_display = serializers.SerializerMethodField(label=_('Type display'))
uid = serializers.ReadOnlyField(label=_("Union id"))
org_id = serializers.ReadOnlyField(label=_("Organization"))
org_name = serializers.SerializerMethodField(label=_("Org name"))
category_mapper = dict(const.AppCategory.choices)
type_mapper = dict(const.AppType.choices)
def create(self, validated_data):
pass
def update(self, instance, validated_data):
pass
def get_category_display(self, obj):
return self.category_mapper.get(obj['category'])
def get_type_display(self, obj):
return self.type_mapper.get(obj['type'])
@staticmethod
def get_org_name(obj):
org = Organization.get_instance(obj['org_id'])
return org.name
class ApplicationAccountSecretSerializer(ApplicationAccountSerializer):
password = serializers.CharField(write_only=False, label=_("Password"))

View File

@@ -0,0 +1 @@
from .attrs import *

View File

@@ -0,0 +1,3 @@
from .remote_app import *
from .db import *
from .cloud import *

View File

@@ -0,0 +1,9 @@
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
__all__ = ['CloudSerializer']
class CloudSerializer(serializers.Serializer):
cluster = serializers.CharField(max_length=1024, label=_('Cluster'), allow_null=True)

View File

@@ -0,0 +1,15 @@
# coding: utf-8
#
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
__all__ = ['DBSerializer']
class DBSerializer(serializers.Serializer):
host = serializers.CharField(max_length=128, label=_('Host'), allow_null=True)
port = serializers.IntegerField(label=_('Port'), allow_null=True)
database = serializers.CharField(
max_length=128, required=True, allow_null=True, label=_('Database')
)

View File

@@ -0,0 +1,61 @@
# coding: utf-8
#
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import ObjectDoesNotExist
from common.utils import get_logger, is_uuid, get_object_or_none
from assets.models import Asset
logger = get_logger(__file__)
__all__ = ['RemoteAppSerializer']
class ExistAssetPrimaryKeyRelatedField(serializers.PrimaryKeyRelatedField):
def to_internal_value(self, data):
instance = super().to_internal_value(data)
return str(instance.id)
def to_representation(self, _id):
# _id 是 instance.id
if self.pk_field is not None:
return self.pk_field.to_representation(_id)
# 解决删除资产后远程应用更新页面会显示资产ID的问题
asset = get_object_or_none(Asset, id=_id)
if not asset:
return None
return _id
class RemoteAppSerializer(serializers.Serializer):
asset_info = serializers.SerializerMethodField()
asset = ExistAssetPrimaryKeyRelatedField(
queryset=Asset.objects, required=True, label=_("Asset"), allow_null=True
)
path = serializers.CharField(
max_length=128, label=_('Application path'), allow_null=True
)
def validate_asset(self, asset):
if not asset:
raise serializers.ValidationError(_('This field is required.'))
return asset
@staticmethod
def get_asset_info(obj):
asset_id = obj.get('asset')
if not asset_id or not is_uuid(asset_id):
return {}
try:
asset = Asset.objects.get(id=str(asset_id))
except ObjectDoesNotExist as e:
logger.error(e)
return {}
if not asset:
return {}
asset_info = {'id': str(asset.id), 'hostname': asset.hostname}
return asset_info

View File

@@ -0,0 +1,12 @@
from .mysql import *
from .mariadb import *
from .oracle import *
from .pgsql import *
from .chrome import *
from .mysql_workbench import *
from .vmware_client import *
from .custom import *
from .k8s import *

View File

@@ -0,0 +1,26 @@
from django.utils.translation import ugettext_lazy as _
from rest_framework import serializers
from ..application_category import RemoteAppSerializer
__all__ = ['ChromeSerializer']
class ChromeSerializer(RemoteAppSerializer):
CHROME_PATH = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
path = serializers.CharField(
max_length=128, label=_('Application path'), default=CHROME_PATH, allow_null=True,
)
chrome_target = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Target URL'), allow_null=True,
)
chrome_username = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Username'), allow_null=True,
)
chrome_password = serializers.CharField(
max_length=128, allow_blank=True, required=False, write_only=True, label=_('Password'),
allow_null=True
)

View File

@@ -0,0 +1,27 @@
from django.utils.translation import ugettext_lazy as _
from rest_framework import serializers
from ..application_category import RemoteAppSerializer
__all__ = ['CustomSerializer']
class CustomSerializer(RemoteAppSerializer):
custom_cmdline = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Operating parameter'),
allow_null=True,
)
custom_target = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Target url'),
allow_null=True,
)
custom_username = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Username'),
allow_null=True,
)
custom_password = serializers.CharField(
max_length=128, allow_blank=True, required=False, write_only=True, label=_('Password'),
allow_null=True,
)

View File

@@ -0,0 +1,8 @@
from ..application_category import CloudSerializer
__all__ = ['K8SSerializer']
class K8SSerializer(CloudSerializer):
pass

View File

@@ -0,0 +1,8 @@
from .mysql import MySQLSerializer
__all__ = ['MariaDBSerializer']
class MariaDBSerializer(MySQLSerializer):
pass

View File

@@ -0,0 +1,15 @@
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from ..application_category import DBSerializer
__all__ = ['MySQLSerializer']
class MySQLSerializer(DBSerializer):
port = serializers.IntegerField(default=3306, label=_('Port'), allow_null=True)

View File

@@ -0,0 +1,36 @@
from django.utils.translation import ugettext_lazy as _
from rest_framework import serializers
from ..application_category import RemoteAppSerializer
__all__ = ['MySQLWorkbenchSerializer']
class MySQLWorkbenchSerializer(RemoteAppSerializer):
MYSQL_WORKBENCH_PATH = 'C:\Program Files\MySQL\MySQL Workbench 8.0 CE\MySQLWorkbench.exe'
path = serializers.CharField(
max_length=128, label=_('Application path'), default=MYSQL_WORKBENCH_PATH,
allow_null=True,
)
mysql_workbench_ip = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('IP'),
allow_null=True,
)
mysql_workbench_port = serializers.IntegerField(
required=False, label=_('Port'),
allow_null=True,
)
mysql_workbench_name = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Database'),
allow_null=True,
)
mysql_workbench_username = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Username'),
allow_null=True,
)
mysql_workbench_password = serializers.CharField(
max_length=128, allow_blank=True, required=False, write_only=True, label=_('Password'),
allow_null=True,
)

View File

@@ -0,0 +1,12 @@
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from ..application_category import DBSerializer
__all__ = ['OracleSerializer']
class OracleSerializer(DBSerializer):
port = serializers.IntegerField(default=1521, label=_('Port'), allow_null=True)

View File

@@ -0,0 +1,12 @@
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from ..application_category import DBSerializer
__all__ = ['PostgreSerializer']
class PostgreSerializer(DBSerializer):
port = serializers.IntegerField(default=5432, label=_('Port'), allow_null=True)

View File

@@ -0,0 +1,32 @@
from django.utils.translation import ugettext_lazy as _
from rest_framework import serializers
from ..application_category import RemoteAppSerializer
__all__ = ['VMwareClientSerializer']
class VMwareClientSerializer(RemoteAppSerializer):
PATH = r'''
C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient
.exe
'''
VMWARE_CLIENT_PATH = ''.join(PATH.split())
path = serializers.CharField(
max_length=128, label=_('Application path'), default=VMWARE_CLIENT_PATH,
allow_null=True
)
vmware_target = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Target URL'),
allow_null=True
)
vmware_username = serializers.CharField(
max_length=128, allow_blank=True, required=False, label=_('Username'),
allow_null=True
)
vmware_password = serializers.CharField(
max_length=128, allow_blank=True, required=False, write_only=True, label=_('Password'),
allow_null=True
)

View File

@@ -0,0 +1,42 @@
from rest_framework import serializers
from applications import const
from . import application_category, application_type
__all__ = [
'category_serializer_classes_mapping',
'type_serializer_classes_mapping',
'get_serializer_class_by_application_type',
]
# define `attrs` field `category serializers mapping`
# ---------------------------------------------------
category_serializer_classes_mapping = {
const.AppCategory.db.value: application_category.DBSerializer,
const.AppCategory.remote_app.value: application_category.RemoteAppSerializer,
const.AppCategory.cloud.value: application_category.CloudSerializer,
}
# define `attrs` field `type serializers mapping`
# -----------------------------------------------
type_serializer_classes_mapping = {
# db
const.AppType.mysql.value: application_type.MySQLSerializer,
const.AppType.mariadb.value: application_type.MariaDBSerializer,
const.AppType.oracle.value: application_type.OracleSerializer,
const.AppType.pgsql.value: application_type.PostgreSerializer,
# remote-app
const.AppType.chrome.value: application_type.ChromeSerializer,
const.AppType.mysql_workbench.value: application_type.MySQLWorkbenchSerializer,
const.AppType.vmware_client.value: application_type.VMwareClientSerializer,
const.AppType.custom.value: application_type.CustomSerializer,
# cloud
const.AppType.k8s.value: application_type.K8SSerializer
}
def get_serializer_class_by_application_type(_application_type):
return type_serializer_classes_mapping.get(_application_type)

View File

@@ -0,0 +1,31 @@
# coding: utf-8
#
from rest_framework import serializers
from common.utils import get_logger
from ..models import Application
logger = get_logger(__file__)
__all__ = ['RemoteAppConnectionInfoSerializer']
class RemoteAppConnectionInfoSerializer(serializers.ModelSerializer):
parameter_remote_app = serializers.SerializerMethodField()
asset = serializers.SerializerMethodField()
class Meta:
model = Application
fields = [
'id', 'name', 'asset', 'parameter_remote_app',
]
read_only_fields = ['parameter_remote_app']
@staticmethod
def get_asset(obj):
return obj.attrs.get('asset')
@staticmethod
def get_parameter_remote_app(obj):
return obj.get_rdp_remote_app_setting()

View File

@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

View File

@@ -0,0 +1,7 @@
# coding: utf-8
#
__all__ = [
]

View File

@@ -0,0 +1,24 @@
# coding:utf-8
#
from django.urls import path
from rest_framework_bulk.routes import BulkRouter
from .. import api
app_name = 'applications'
router = BulkRouter()
router.register(r'applications', api.ApplicationViewSet, 'application')
router.register(r'accounts', api.ApplicationAccountViewSet, 'application-account')
router.register(r'account-secrets', api.ApplicationAccountSecretViewSet, 'application-account-secret')
urlpatterns = [
path('remote-apps/<uuid:pk>/connection-info/', api.RemoteAppConnectionInfoApi.as_view(), name='remote-app-connection-info'),
# path('accounts/', api.ApplicationAccountViewSet.as_view(), name='application-account'),
# path('account-secrets/', api.ApplicationAccountSecretViewSet.as_view(), name='application-account-secret')
]
urlpatterns += router.urls

View File

@@ -1,6 +1,12 @@
from .mixin import *
from .admin_user import *
from .asset import *
from .label import *
from .system_user import *
from .system_user_relation import *
from .accounts import *
from .node import *
from .domain import *
from .cmd_filter import *
from .gathered_user import *
from .favorite_asset import *

113
apps/assets/api/accounts.py Normal file
View File

@@ -0,0 +1,113 @@
from django.db.models import F, Q
from rest_framework.decorators import action
from django_filters import rest_framework as filters
from rest_framework.response import Response
from django.shortcuts import get_object_or_404
from rest_framework.generics import CreateAPIView
from orgs.mixins.api import OrgBulkModelViewSet
from common.permissions import IsOrgAdmin, IsOrgAdminOrAppUser, NeedMFAVerify
from common.drf.filters import BaseFilterSet
from ..tasks.account_connectivity import test_accounts_connectivity_manual
from ..models import AuthBook, Node
from .. import serializers
__all__ = ['AccountViewSet', 'AccountSecretsViewSet', 'AccountTaskCreateAPI']
class AccountFilterSet(BaseFilterSet):
username = filters.CharFilter(method='do_nothing')
ip = filters.CharFilter(field_name='ip', lookup_expr='exact')
hostname = filters.CharFilter(field_name='hostname', lookup_expr='exact')
node = filters.CharFilter(method='do_nothing')
@property
def qs(self):
qs = super().qs
qs = self.filter_username(qs)
qs = self.filter_node(qs)
return qs
def filter_username(self, qs):
username = self.get_query_param('username')
if not username:
return qs
qs = qs.filter(Q(username=username) | Q(systemuser__username=username)).distinct()
return qs
def filter_node(self, qs):
node_id = self.get_query_param('node')
if not node_id:
return qs
node = get_object_or_404(Node, pk=node_id)
node_ids = node.get_all_children(with_self=True).values_list('id', flat=True)
node_ids = list(node_ids)
qs = qs.filter(asset__nodes__in=node_ids)
return qs
class Meta:
model = AuthBook
fields = [
'asset', 'systemuser', 'id',
]
class AccountViewSet(OrgBulkModelViewSet):
model = AuthBook
filterset_fields = ("username", "asset", "systemuser", 'ip', 'hostname')
search_fields = ('username', 'ip', 'hostname', 'systemuser__username')
filterset_class = AccountFilterSet
serializer_classes = {
'default': serializers.AccountSerializer,
'verify_account': serializers.AssetTaskSerializer
}
permission_classes = (IsOrgAdmin,)
def get_queryset(self):
queryset = super().get_queryset()\
.annotate(ip=F('asset__ip'))\
.annotate(hostname=F('asset__hostname'))
return queryset
@action(methods=['post'], detail=True, url_path='verify')
def verify_account(self, request, *args, **kwargs):
account = super().get_object()
task = test_accounts_connectivity_manual.delay([account])
return Response(data={'task': task.id})
class AccountSecretsViewSet(AccountViewSet):
"""
因为可能要导出所有账号,所以单独建立了一个 viewset
"""
serializer_classes = {
'default': serializers.AccountSecretSerializer
}
permission_classes = (IsOrgAdmin, NeedMFAVerify)
http_method_names = ['get']
class AccountTaskCreateAPI(CreateAPIView):
permission_classes = (IsOrgAdminOrAppUser,)
serializer_class = serializers.AccountTaskSerializer
filterset_fields = AccountViewSet.filterset_fields
search_fields = AccountViewSet.search_fields
filterset_class = AccountViewSet.filterset_class
def get_accounts(self):
queryset = AuthBook.objects.all()
queryset = self.filter_queryset(queryset)
return queryset
def perform_create(self, serializer):
accounts = self.get_accounts()
task = test_accounts_connectivity_manual.delay(accounts)
data = getattr(serializer, '_data', {})
data["task"] = task.id
setattr(serializer, '_data', data)
return task
def get_exception_handler(self):
def handler(e, context):
return Response({"error": str(e)}, status=400)
return handler

View File

@@ -1,83 +1,28 @@
# ~*~ coding: utf-8 ~*~
# Copyright (C) 2014-2018 Beijing DuiZhan Technology Co.,Ltd. All Rights Reserved.
#
# Licensed under the GNU General Public License v2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.gnu.org/licenses/gpl-2.0.html
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from django.db.models import Count
from django.db import transaction
from rest_framework import generics
from rest_framework.response import Response
from rest_framework_bulk import BulkModelViewSet
from common.mixins import IDInFilterMixin
from orgs.mixins.api import OrgBulkModelViewSet
from common.utils import get_logger
from ..hands import IsSuperUser
from ..models import AdminUser, Asset
from ..hands import IsOrgAdmin
from ..models import SystemUser
from .. import serializers
from ..tasks import test_admin_user_connectability_manual
logger = get_logger(__file__)
__all__ = [
'AdminUserViewSet', 'ReplaceNodesAdminUserApi',
'AdminUserTestConnectiveApi', 'AdminUserAuthApi',
]
__all__ = ['AdminUserViewSet']
class AdminUserViewSet(IDInFilterMixin, BulkModelViewSet):
# 兼容一下老的 api
class AdminUserViewSet(OrgBulkModelViewSet):
"""
Admin user api set, for add,delete,update,list,retrieve resource
"""
queryset = AdminUser.objects.all()
model = SystemUser
filterset_fields = ("name", "username")
search_fields = filterset_fields
serializer_class = serializers.AdminUserSerializer
permission_classes = (IsSuperUser,)
permission_classes = (IsOrgAdmin,)
class AdminUserAuthApi(generics.UpdateAPIView):
queryset = AdminUser.objects.all()
serializer_class = serializers.AdminUserAuthSerializer
permission_classes = (IsSuperUser,)
class ReplaceNodesAdminUserApi(generics.UpdateAPIView):
queryset = AdminUser.objects.all()
serializer_class = serializers.ReplaceNodeAdminUserSerializer
permission_classes = (IsSuperUser,)
def update(self, request, *args, **kwargs):
admin_user = self.get_object()
serializer = self.serializer_class(data=request.data)
if serializer.is_valid():
nodes = serializer.validated_data['nodes']
assets = []
for node in nodes:
assets.extend([asset.id for asset in node.get_all_assets()])
with transaction.atomic():
Asset.objects.filter(id__in=assets).update(admin_user=admin_user)
return Response({"msg": "ok"})
else:
return Response({'error': serializer.errors}, status=400)
class AdminUserTestConnectiveApi(generics.RetrieveAPIView):
"""
Test asset admin user connectivity
"""
queryset = AdminUser.objects.all()
permission_classes = (IsSuperUser,)
def retrieve(self, request, *args, **kwargs):
admin_user = self.get_object()
task = test_admin_user_connectability_manual.delay(admin_user)
return Response({"task": task.id})
def get_queryset(self):
queryset = super().get_queryset().filter(type=SystemUser.Type.admin)
queryset = queryset.annotate(assets_amount=Count('assets'))
return queryset

View File

@@ -1,107 +1,171 @@
# -*- coding: utf-8 -*-
#
from rest_framework import generics
from rest_framework.response import Response
from rest_framework_bulk import BulkModelViewSet
from rest_framework_bulk import ListBulkCreateUpdateDestroyAPIView
from rest_framework.pagination import LimitOffsetPagination
from assets.api import FilterAssetByNodeMixin
from rest_framework.viewsets import ModelViewSet
from rest_framework.generics import RetrieveAPIView
from django.shortcuts import get_object_or_404
from django.db.models import Q
from common.mixins import IDInFilterMixin
from common.utils import get_logger
from ..hands import IsSuperUser, IsValidUser, IsSuperUserOrAppUser, \
NodePermissionUtil
from ..models import Asset, SystemUser, AdminUser, Node
from common.utils import get_logger, get_object_or_none
from common.permissions import IsOrgAdmin, IsOrgAdminOrAppUser, IsSuperUser
from orgs.mixins.api import OrgBulkModelViewSet
from orgs.mixins import generics
from ..models import Asset, Node, Platform, SystemUser
from .. import serializers
from ..tasks import update_asset_hardware_info_manual, \
test_asset_connectability_manual
from ..utils import LabelFilter
from ..tasks import (
update_assets_hardware_info_manual, test_assets_connectivity_manual,
test_system_users_connectivity_a_asset, push_system_users_a_asset
)
from ..filters import FilterAssetByNodeFilterBackend, LabelFilterBackend, IpInFilterBackend
logger = get_logger(__file__)
__all__ = [
'AssetViewSet', 'UserAssetListView', 'AssetListUpdateApi',
'AssetRefreshHardwareApi', 'AssetAdminUserTestApi'
'AssetViewSet', 'AssetPlatformRetrieveApi',
'AssetGatewayListApi', 'AssetPlatformViewSet',
'AssetTaskCreateApi', 'AssetsTaskCreateApi',
]
class AssetViewSet(IDInFilterMixin, LabelFilter, BulkModelViewSet):
class AssetViewSet(FilterAssetByNodeMixin, OrgBulkModelViewSet):
"""
API endpoint that allows Asset to be viewed or edited.
"""
filter_fields = ("hostname", "ip")
search_fields = filter_fields
model = Asset
filterset_fields = {
'hostname': ['exact'],
'ip': ['exact'],
'system_users__id': ['exact'],
'platform__base': ['exact'],
'is_active': ['exact'],
'protocols': ['exact', 'icontains']
}
search_fields = ("hostname", "ip")
ordering_fields = ("hostname", "ip", "port", "cpu_cores")
queryset = Asset.objects.all()
serializer_class = serializers.AssetSerializer
pagination_class = LimitOffsetPagination
permission_classes = (IsSuperUserOrAppUser,)
serializer_classes = {
'default': serializers.AssetSerializer,
}
permission_classes = (IsOrgAdminOrAppUser,)
extra_filter_backends = [FilterAssetByNodeFilterBackend, LabelFilterBackend, IpInFilterBackend]
def set_assets_node(self, assets):
if not isinstance(assets, list):
assets = [assets]
node_id = self.request.query_params.get('node_id')
if not node_id:
return
node = get_object_or_none(Node, pk=node_id)
if not node:
return
node.assets.add(*assets)
def perform_create(self, serializer):
assets = serializer.save()
self.set_assets_node(assets)
class AssetPlatformRetrieveApi(RetrieveAPIView):
queryset = Platform.objects.all()
permission_classes = (IsOrgAdminOrAppUser,)
serializer_class = serializers.PlatformSerializer
def get_object(self):
asset_pk = self.kwargs.get('pk')
asset = get_object_or_404(Asset, pk=asset_pk)
return asset.platform
class AssetPlatformViewSet(ModelViewSet):
queryset = Platform.objects.all()
permission_classes = (IsSuperUser,)
serializer_class = serializers.PlatformSerializer
filterset_fields = ['name', 'base']
search_fields = ['name']
def get_permissions(self):
if self.request.method.lower() in ['get', 'options']:
self.permission_classes = (IsOrgAdmin,)
return super().get_permissions()
def check_object_permissions(self, request, obj):
if request.method.lower() in ['delete', 'put', 'patch'] and obj.internal:
self.permission_denied(
request, message={"detail": "Internal platform"}
)
return super().check_object_permissions(request, obj)
class AssetsTaskMixin:
def perform_assets_task(self, serializer):
data = serializer.validated_data
action = data['action']
assets = data.get('assets', [])
if action == "refresh":
task = update_assets_hardware_info_manual.delay(assets)
else:
# action == 'test':
task = test_assets_connectivity_manual.delay(assets)
return task
def perform_create(self, serializer):
task = self.perform_assets_task(serializer)
self.set_task_to_serializer_data(serializer, task)
def set_task_to_serializer_data(self, serializer, task):
data = getattr(serializer, '_data', {})
data["task"] = task.id
setattr(serializer, '_data', data)
class AssetTaskCreateApi(AssetsTaskMixin, generics.CreateAPIView):
model = Asset
serializer_class = serializers.AssetTaskSerializer
permission_classes = (IsOrgAdmin,)
def create(self, request, *args, **kwargs):
pk = self.kwargs.get('pk')
request.data['asset'] = pk
request.data['assets'] = [pk]
return super().create(request, *args, **kwargs)
def perform_asset_task(self, serializer):
data = serializer.validated_data
action = data['action']
if action not in ['push_system_user', 'test_system_user']:
return
asset = data['asset']
system_users = data.get('system_users')
if not system_users:
system_users = asset.get_all_systemusers()
if action == 'push_system_user':
task = push_system_users_a_asset.delay(system_users, asset=asset)
elif action == 'test_system_user':
task = test_system_users_connectivity_a_asset.delay(system_users, asset=asset)
else:
task = None
return task
def perform_create(self, serializer):
task = self.perform_asset_task(serializer)
if not task:
task = self.perform_assets_task(serializer)
self.set_task_to_serializer_data(serializer, task)
class AssetsTaskCreateApi(AssetsTaskMixin, generics.CreateAPIView):
model = Asset
serializer_class = serializers.AssetsTaskSerializer
permission_classes = (IsOrgAdmin,)
class AssetGatewayListApi(generics.ListAPIView):
permission_classes = (IsOrgAdminOrAppUser,)
serializer_class = serializers.GatewayWithAuthSerializer
def get_queryset(self):
queryset = super().get_queryset()
admin_user_id = self.request.query_params.get('admin_user_id')
node_id = self.request.query_params.get("node_id")
if admin_user_id:
admin_user = get_object_or_404(AdminUser, id=admin_user_id)
queryset = queryset.filter(admin_user=admin_user)
if node_id:
node = get_object_or_404(Node, id=node_id)
if not node.is_root():
queryset = queryset.filter(
nodes__key__regex='{}(:[0-9]+)*$'.format(node.key),
).distinct()
return queryset
class UserAssetListView(generics.ListAPIView):
queryset = Asset.objects.all()
serializer_class = serializers.AssetSerializer
permission_classes = (IsValidUser,)
def get_queryset(self):
assets_granted = NodePermissionUtil.get_user_assets(self.request.user).keys()
queryset = self.queryset.filter(
id__in=[asset.id for asset in assets_granted]
)
return queryset
class AssetListUpdateApi(IDInFilterMixin, ListBulkCreateUpdateDestroyAPIView):
"""
Asset bulk update api
"""
queryset = Asset.objects.all()
serializer_class = serializers.AssetSerializer
permission_classes = (IsSuperUser,)
class AssetRefreshHardwareApi(generics.RetrieveAPIView):
"""
Refresh asset hardware info
"""
queryset = Asset.objects.all()
serializer_class = serializers.AssetSerializer
permission_classes = (IsSuperUser,)
def retrieve(self, request, *args, **kwargs):
asset_id = kwargs.get('pk')
asset_id = self.kwargs.get('pk')
asset = get_object_or_404(Asset, pk=asset_id)
task = update_asset_hardware_info_manual.delay(asset)
return Response({"task": task.id})
class AssetAdminUserTestApi(generics.RetrieveAPIView):
"""
Test asset admin user connectivity
"""
queryset = Asset.objects.all()
permission_classes = (IsSuperUser,)
def retrieve(self, request, *args, **kwargs):
asset_id = kwargs.get('pk')
asset = get_object_or_404(Asset, pk=asset_id)
task = test_asset_connectability_manual.delay(asset)
return Response({"task": task.id})
if not asset.domain:
return []
queryset = asset.domain.gateways.filter(protocol='ssh')
return queryset

View File

@@ -0,0 +1,92 @@
# -*- coding: utf-8 -*-
#
from rest_framework.response import Response
from rest_framework.generics import CreateAPIView
from django.shortcuts import get_object_or_404
from common.utils import reverse
from common.utils import lazyproperty
from orgs.mixins.api import OrgBulkModelViewSet
from tickets.api import GenericTicketStatusRetrieveCloseAPI
from ..hands import IsOrgAdmin, IsAppUser
from ..models import CommandFilter, CommandFilterRule
from .. import serializers
__all__ = [
'CommandFilterViewSet', 'CommandFilterRuleViewSet', 'CommandConfirmAPI',
'CommandConfirmStatusAPI'
]
class CommandFilterViewSet(OrgBulkModelViewSet):
model = CommandFilter
filterset_fields = ("name",)
search_fields = filterset_fields
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.CommandFilterSerializer
class CommandFilterRuleViewSet(OrgBulkModelViewSet):
model = CommandFilterRule
filterset_fields = ("content",)
search_fields = filterset_fields
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.CommandFilterRuleSerializer
def get_queryset(self):
fpk = self.kwargs.get('filter_pk')
if not fpk:
return CommandFilterRule.objects.none()
cmd_filter = get_object_or_404(CommandFilter, pk=fpk)
return cmd_filter.rules.all()
class CommandConfirmAPI(CreateAPIView):
permission_classes = (IsAppUser, )
serializer_class = serializers.CommandConfirmSerializer
def create(self, request, *args, **kwargs):
ticket = self.create_command_confirm_ticket()
response_data = self.get_response_data(ticket)
return Response(data=response_data, status=200)
def create_command_confirm_ticket(self):
ticket = self.serializer.cmd_filter_rule.create_command_confirm_ticket(
run_command=self.serializer.data.get('run_command'),
session=self.serializer.session,
cmd_filter_rule=self.serializer.cmd_filter_rule,
org_id=self.serializer.org.id
)
return ticket
@staticmethod
def get_response_data(ticket):
confirm_status_url = reverse(
view_name='api-assets:command-confirm-status',
kwargs={'pk': str(ticket.id)}
)
ticket_detail_url = reverse(
view_name='api-tickets:ticket-detail',
kwargs={'pk': str(ticket.id)},
external=True, api_to_ui=True
)
ticket_detail_url = '{url}?type={type}'.format(url=ticket_detail_url, type=ticket.type)
return {
'check_confirm_status': {'method': 'GET', 'url': confirm_status_url},
'close_confirm': {'method': 'DELETE', 'url': confirm_status_url},
'ticket_detail_url': ticket_detail_url,
'reviewers': [str(user) for user in ticket.assignees.all()]
}
@lazyproperty
def serializer(self):
serializer = self.get_serializer(data=self.request.data)
serializer.is_valid(raise_exception=True)
return serializer
class CommandConfirmStatusAPI(GenericTicketStatusRetrieveCloseAPI):
pass

View File

@@ -1,15 +1,14 @@
# ~*~ coding: utf-8 ~*~
from rest_framework_bulk import BulkModelViewSet
from rest_framework.views import APIView, Response
from rest_framework.generics import RetrieveAPIView
from django.views.generic.detail import SingleObjectMixin
from django.utils.translation import ugettext as _
from rest_framework.views import APIView, Response
from rest_framework.serializers import ValidationError
from common.utils import get_logger
from ..hands import IsSuperUser, IsSuperUserOrAppUser
from common.permissions import IsOrgAdmin, IsOrgAdminOrAppUser
from orgs.mixins.api import OrgBulkModelViewSet
from ..models import Domain, Gateway
from ..utils import test_gateway_connectability
from .. import serializers
@@ -17,9 +16,11 @@ logger = get_logger(__file__)
__all__ = ['DomainViewSet', 'GatewayViewSet', "GatewayTestConnectionApi"]
class DomainViewSet(BulkModelViewSet):
queryset = Domain.objects.all()
permission_classes = (IsSuperUser,)
class DomainViewSet(OrgBulkModelViewSet):
model = Domain
filterset_fields = ("name", )
search_fields = filterset_fields
permission_classes = (IsOrgAdminOrAppUser,)
serializer_class = serializers.DomainSerializer
def get_serializer_class(self):
@@ -27,29 +28,28 @@ class DomainViewSet(BulkModelViewSet):
return serializers.DomainWithGatewaySerializer
return super().get_serializer_class()
def get_permissions(self):
if self.request.query_params.get('gateway'):
self.permission_classes = (IsSuperUserOrAppUser,)
return super().get_permissions()
class GatewayViewSet(BulkModelViewSet):
filter_fields = ("domain",)
search_fields = filter_fields
queryset = Gateway.objects.all()
permission_classes = (IsSuperUser,)
class GatewayViewSet(OrgBulkModelViewSet):
model = Gateway
filterset_fields = ("domain__name", "name", "username", "ip", "domain")
search_fields = ("domain__name", "name", "username", "ip")
permission_classes = (IsOrgAdminOrAppUser,)
serializer_class = serializers.GatewaySerializer
class GatewayTestConnectionApi(SingleObjectMixin, APIView):
permission_classes = (IsSuperUser,)
model = Gateway
permission_classes = (IsOrgAdmin,)
object = None
def get(self, request, *args, **kwargs):
def post(self, request, *args, **kwargs):
self.object = self.get_object(Gateway.objects.all())
ok, e = test_gateway_connectability(self.object)
local_port = self.request.data.get('port') or self.object.port
try:
local_port = int(local_port)
except ValueError:
raise ValidationError({'port': _('Number required')})
ok, e = self.object.test_connective(local_port=local_port)
if ok:
return Response("ok")
else:
return Response({"failed": e}, status=404)
return Response({"error": e}, status=400)

View File

@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
#
from rest_framework_bulk import BulkModelViewSet
from common.permissions import IsValidUser
from orgs.utils import tmp_to_root_org
from ..models import FavoriteAsset
from ..serializers import FavoriteAssetSerializer
__all__ = ['FavoriteAssetViewSet']
class FavoriteAssetViewSet(BulkModelViewSet):
serializer_class = FavoriteAssetSerializer
permission_classes = (IsValidUser,)
filterset_fields = ['asset']
def dispatch(self, request, *args, **kwargs):
with tmp_to_root_org():
return super().dispatch(request, *args, **kwargs)
def get_queryset(self):
queryset = FavoriteAsset.objects.filter(user=self.request.user)
return queryset
def allow_bulk_destroy(self, qs, filtered):
return filtered.count() == 1

View File

@@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
#
from orgs.mixins.api import OrgModelViewSet
from assets.models import GatheredUser
from common.permissions import IsOrgAdmin
from ..serializers import GatheredUserSerializer
from ..filters import AssetRelatedByNodeFilterBackend
__all__ = ['GatheredUserViewSet']
class GatheredUserViewSet(OrgModelViewSet):
model = GatheredUser
serializer_class = GatheredUserSerializer
permission_classes = [IsOrgAdmin]
extra_filter_backends = [AssetRelatedByNodeFilterBackend]
filterset_fields = ['asset', 'username', 'present', 'asset__ip', 'asset__hostname', 'asset_id']
search_fields = ['username', 'asset__ip', 'asset__hostname']

View File

@@ -13,11 +13,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from rest_framework_bulk import BulkModelViewSet
from django.db.models import Count
from common.utils import get_logger
from ..hands import IsSuperUser
from orgs.mixins.api import OrgBulkModelViewSet
from ..hands import IsOrgAdmin
from ..models import Label
from .. import serializers
@@ -26,9 +26,11 @@ logger = get_logger(__file__)
__all__ = ['LabelViewSet']
class LabelViewSet(BulkModelViewSet):
queryset = Label.objects.annotate(asset_count=Count("assets"))
permission_classes = (IsSuperUser,)
class LabelViewSet(OrgBulkModelViewSet):
model = Label
filterset_fields = ("name", "value")
search_fields = filterset_fields
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.LabelSerializer
def list(self, request, *args, **kwargs):
@@ -36,3 +38,7 @@ class LabelViewSet(BulkModelViewSet):
self.serializer_class = serializers.LabelDistinctSerializer
self.queryset = self.queryset.values("name").distinct()
return super().list(request, *args, **kwargs)
def get_queryset(self):
self.queryset = Label.objects.annotate(asset_count=Count("assets"))
return self.queryset

92
apps/assets/api/mixin.py Normal file
View File

@@ -0,0 +1,92 @@
from typing import List
from common.utils.common import timeit
from assets.models import Node, Asset
from assets.pagination import NodeAssetTreePagination
from common.utils import lazyproperty
from assets.utils import get_node, is_query_node_all_assets
class SerializeToTreeNodeMixin:
@timeit
def serialize_nodes(self, nodes: List[Node], with_asset_amount=False):
if with_asset_amount:
def _name(node: Node):
return '{} ({})'.format(node.value, node.assets_amount)
else:
def _name(node: Node):
return node.value
data = [
{
'id': node.key,
'name': _name(node),
'title': _name(node),
'pId': node.parent_key,
'isParent': True,
'open': node.is_org_root(),
'meta': {
'data': {
"id": node.id,
"key": node.key,
"value": node.value,
},
'type': 'node'
}
}
for node in nodes
]
return data
def get_platform(self, asset: Asset):
default = 'file'
icon = {'windows', 'linux'}
platform = asset.platform_base.lower()
if platform in icon:
return platform
return default
@timeit
def serialize_assets(self, assets, node_key=None):
if node_key is None:
get_pid = lambda asset: getattr(asset, 'parent_key', '')
else:
get_pid = lambda asset: node_key
data = [
{
'id': str(asset.id),
'name': asset.hostname,
'title': asset.ip,
'pId': get_pid(asset),
'isParent': False,
'open': False,
'iconSkin': self.get_platform(asset),
'chkDisabled': not asset.is_active,
'meta': {
'type': 'asset',
'data': {
'id': asset.id,
'hostname': asset.hostname,
'ip': asset.ip,
'protocols': asset.protocols_as_list,
'platform': asset.platform_base,
'org_name': asset.org_name
},
}
}
for asset in assets
]
return data
class FilterAssetByNodeMixin:
pagination_class = NodeAssetTreePagination
@lazyproperty
def is_query_node_all_assets(self):
return is_query_node_all_assets(self.request)
@lazyproperty
def node(self):
return get_node(self.request)

View File

@@ -1,143 +1,210 @@
# ~*~ coding: utf-8 ~*~
# Copyright (C) 2014-2018 Beijing DuiZhan Technology Co.,Ltd. All Rights Reserved.
#
# Licensed under the GNU General Public License v2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.gnu.org/licenses/gpl-2.0.html
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from functools import partial
from collections import namedtuple, defaultdict
from rest_framework import generics, mixins
from rest_framework.views import APIView
from rest_framework import status
from rest_framework.serializers import ValidationError
from rest_framework.response import Response
from rest_framework_bulk import BulkModelViewSet
from rest_framework.decorators import action
from django.utils.translation import ugettext_lazy as _
from django.shortcuts import get_object_or_404
from django.shortcuts import get_object_or_404, Http404
from django.db.models.signals import m2m_changed
from common.const.http import POST
from common.exceptions import SomeoneIsDoingThis
from common.const.signals import PRE_REMOVE, POST_REMOVE
from assets.models import Asset
from common.utils import get_logger, get_object_or_none
from ..hands import IsSuperUser
from common.tree import TreeNodeSerializer
from orgs.mixins.api import OrgModelViewSet
from orgs.mixins import generics
from orgs.utils import current_org
from ..hands import IsOrgAdmin
from ..models import Node
from ..tasks import update_assets_hardware_info_util, test_asset_connectability_util
from ..tasks import (
update_node_assets_hardware_info_manual,
test_node_assets_connectivity_manual,
check_node_assets_amount_task
)
from .. import serializers
from .mixin import SerializeToTreeNodeMixin
from assets.locks import NodeAddChildrenLock
logger = get_logger(__file__)
__all__ = [
'NodeViewSet', 'NodeChildrenApi',
'NodeAssetsApi', 'NodeWithAssetsApi',
'NodeAddAssetsApi', 'NodeRemoveAssetsApi',
'NodeReplaceAssetsApi',
'NodeAddChildrenApi', 'RefreshNodeHardwareInfoApi',
'TestNodeConnectiveApi'
'NodeViewSet', 'NodeChildrenApi', 'NodeAssetsApi',
'NodeAddAssetsApi', 'NodeRemoveAssetsApi', 'MoveAssetsToNodeApi',
'NodeAddChildrenApi', 'NodeListAsTreeApi',
'NodeChildrenAsTreeApi',
'NodeTaskCreateApi',
]
class NodeViewSet(BulkModelViewSet):
queryset = Node.objects.all()
permission_classes = (IsSuperUser,)
class NodeViewSet(OrgModelViewSet):
model = Node
filterset_fields = ('value', 'key', 'id')
search_fields = ('value', )
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.NodeSerializer
# 仅支持根节点指直接创建子节点下的节点需要通过children接口创建
def perform_create(self, serializer):
child_key = Node.root().get_next_child_key()
child_key = Node.org_root().get_next_child_key()
serializer.validated_data["key"] = child_key
serializer.save()
@action(methods=[POST], detail=False, url_path='check_assets_amount_task')
def check_assets_amount_task(self, request):
task = check_node_assets_amount_task.delay(current_org.id)
return Response(data={'task': task.id})
class NodeWithAssetsApi(generics.ListAPIView):
permission_classes = (IsSuperUser,)
serializers = serializers.NodeSerializer
def perform_update(self, serializer):
node = self.get_object()
if node.is_org_root() and node.value != serializer.validated_data['value']:
msg = _("You can't update the root node name")
raise ValidationError({"error": msg})
return super().perform_update(serializer)
def get_node(self):
pk = self.kwargs.get('pk') or self.request.query_params.get('node')
if not pk:
node = Node.root()
else:
node = get_object_or_404(Node, pk)
return node
def destroy(self, request, *args, **kwargs):
node = self.get_object()
if node.is_org_root():
error = _("You can't delete the root node ({})".format(node.value))
return Response(data={'error': error}, status=status.HTTP_403_FORBIDDEN)
if node.has_offspring_assets():
error = _("Deletion failed and the node contains assets")
return Response(data={'error': error}, status=status.HTTP_403_FORBIDDEN)
return super().destroy(request, *args, **kwargs)
def get_queryset(self):
queryset = []
node = self.get_node()
children = node.get_children()
assets = node.get_assets()
queryset.extend(list(children))
for asset in assets:
node = Node()
node.id = asset.id
node.parent = node.id
node.value = asset.hostname
queryset.append(node)
class NodeListAsTreeApi(generics.ListAPIView):
"""
获取节点列表树
[
{
"id": "",
"name": "",
"pId": "",
"meta": ""
}
]
"""
model = Node
permission_classes = (IsOrgAdmin,)
serializer_class = TreeNodeSerializer
@staticmethod
def to_tree_queryset(queryset):
queryset = [node.as_tree_node() for node in queryset]
return queryset
def filter_queryset(self, queryset):
queryset = super().filter_queryset(queryset)
queryset = self.to_tree_queryset(queryset)
return queryset
class NodeChildrenApi(mixins.ListModelMixin, generics.CreateAPIView):
queryset = Node.objects.all()
permission_classes = (IsSuperUser,)
class NodeChildrenApi(generics.ListCreateAPIView):
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.NodeSerializer
instance = None
is_initial = False
def post(self, request, *args, **kwargs):
if not request.data.get("value"):
request.data["value"] = _("New node {}").format(
Node.root().get_next_child_key().split(":")[-1]
)
return super().post(request, *args, **kwargs)
def initial(self, request, *args, **kwargs):
self.instance = self.get_object()
return super().initial(request, *args, **kwargs)
def create(self, request, *args, **kwargs):
instance = self.get_object()
value = request.data.get("value")
node = instance.create_child(value=value)
return Response(
{"id": node.id, "key": node.key, "value": node.value},
status=201,
)
def perform_create(self, serializer):
with NodeAddChildrenLock(self.instance):
data = serializer.validated_data
_id = data.get("id")
value = data.get("value")
if not value:
value = self.instance.get_next_child_preset_name()
node = self.instance.create_child(value=value, _id=_id)
# 避免查询 full value
node._full_value = node.value
serializer.instance = node
def get_object(self):
pk = self.kwargs.get('pk') or self.request.query_params.get('id')
if not pk:
node = Node.root()
else:
key = self.request.query_params.get("key")
if not pk and not key:
self.is_initial = True
if current_org.is_root():
node = None
else:
node = Node.org_root()
return node
if pk:
node = get_object_or_404(Node, pk=pk)
else:
node = get_object_or_404(Node, key=key)
return node
def get_queryset(self):
queryset = []
query_all = self.request.query_params.get("all")
query_assets = self.request.query_params.get('assets')
node = self.get_object()
if node == Node.root():
queryset.append(node)
def get_org_root_queryset(self, query_all):
if query_all:
children = node.get_all_children()
return Node.objects.all()
else:
children = node.get_children()
return Node.org_root_nodes()
queryset.extend(list(children))
if query_assets:
assets = node.get_assets()
for asset in assets:
node_fake = Node()
node_fake.id = asset.id
node_fake.parent = node
node_fake.value = asset.hostname
node_fake.is_node = False
queryset.append(node_fake)
queryset = sorted(queryset, key=lambda x: x.is_node, reverse=True)
def get_queryset(self):
query_all = self.request.query_params.get("all", "0") == "all"
if self.is_initial and current_org.is_root():
return self.get_org_root_queryset(query_all)
if self.is_initial:
with_self = True
else:
with_self = False
if not self.instance:
return Node.objects.none()
if query_all:
queryset = self.instance.get_all_children(with_self=with_self)
else:
queryset = self.instance.get_children(with_self=with_self)
return queryset
def get(self, request, *args, **kwargs):
return super().list(request, *args, **kwargs)
class NodeChildrenAsTreeApi(SerializeToTreeNodeMixin, NodeChildrenApi):
"""
节点子节点作为树返回,
[
{
"id": "",
"name": "",
"pId": "",
"meta": ""
}
]
"""
model = Node
def list(self, request, *args, **kwargs):
nodes = self.get_queryset().order_by('value')
nodes = self.serialize_nodes(nodes, with_asset_amount=True)
assets = self.get_assets()
data = [*nodes, *assets]
return Response(data=data)
def get_assets(self):
include_assets = self.request.query_params.get('assets', '0') == '1'
if not self.instance or not include_assets:
return []
assets = self.instance.get_assets().only(
"id", "hostname", "ip", "os", "platform_id",
"org_id", "protocols", "is_active",
).prefetch_related('platform')
return self.serialize_assets(assets, self.instance.key)
class NodeAssetsApi(generics.ListAPIView):
permission_classes = (IsSuperUser,)
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.AssetSerializer
def get_queryset(self):
@@ -151,27 +218,25 @@ class NodeAssetsApi(generics.ListAPIView):
class NodeAddChildrenApi(generics.UpdateAPIView):
queryset = Node.objects.all()
permission_classes = (IsSuperUser,)
model = Node
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.NodeAddChildrenSerializer
instance = None
def put(self, request, *args, **kwargs):
def update(self, request, *args, **kwargs):
""" 同时支持 put 和 patch 方法"""
instance = self.get_object()
nodes_id = request.data.get("nodes")
children = [get_object_or_none(Node, id=pk) for pk in nodes_id]
node_ids = request.data.get("nodes")
children = Node.objects.filter(id__in=node_ids)
for node in children:
if not node:
continue
node.parent = instance
node.save()
return Response("OK")
class NodeAddAssetsApi(generics.UpdateAPIView):
model = Node
serializer_class = serializers.NodeAssetsSerializer
queryset = Node.objects.all()
permission_classes = (IsSuperUser,)
permission_classes = (IsOrgAdmin,)
instance = None
def perform_update(self, serializer):
@@ -181,52 +246,101 @@ class NodeAddAssetsApi(generics.UpdateAPIView):
class NodeRemoveAssetsApi(generics.UpdateAPIView):
model = Node
serializer_class = serializers.NodeAssetsSerializer
queryset = Node.objects.all()
permission_classes = (IsSuperUser,)
permission_classes = (IsOrgAdmin,)
instance = None
def perform_update(self, serializer):
assets = serializer.validated_data.get('assets')
instance = self.get_object()
if instance != Node.root():
instance.assets.remove(*tuple(assets))
node = self.get_object()
node.assets.remove(*assets)
# 把孤儿资产添加到 root 节点
orphan_assets = Asset.objects.filter(
id__in=[a.id for a in assets],
nodes__isnull=True
).distinct()
Node.org_root().assets.add(*orphan_assets)
class NodeReplaceAssetsApi(generics.UpdateAPIView):
class MoveAssetsToNodeApi(generics.UpdateAPIView):
model = Node
serializer_class = serializers.NodeAssetsSerializer
queryset = Node.objects.all()
permission_classes = (IsSuperUser,)
permission_classes = (IsOrgAdmin,)
instance = None
def perform_update(self, serializer):
assets = serializer.validated_data.get('assets')
instance = self.get_object()
for asset in assets:
asset.nodes.set([instance])
node = self.get_object()
self.remove_old_nodes(assets)
node.assets.add(*assets)
def remove_old_nodes(self, assets):
m2m_model = Asset.nodes.through
# 查询资产与节点关系表,查出要移动资产与节点的所有关系
relates = m2m_model.objects.filter(asset__in=assets).values_list('asset_id', 'node_id')
if relates:
# 对关系以资产进行分组,用来发 `reverse=False` 信号
asset_nodes_mapper = defaultdict(set)
for asset_id, node_id in relates:
asset_nodes_mapper[asset_id].add(node_id)
# 组建一个资产 id -> Asset 的 mapper
asset_mapper = {asset.id: asset for asset in assets}
# 创建删除关系信号发送函数
senders = []
for asset_id, node_id_set in asset_nodes_mapper.items():
senders.append(partial(m2m_changed.send, sender=m2m_model, instance=asset_mapper[asset_id],
reverse=False, model=Node, pk_set=node_id_set))
# 发送 pre 信号
[sender(action=PRE_REMOVE) for sender in senders]
num = len(relates)
asset_ids, node_ids = zip(*relates)
# 删除之前的关系
rows, _i = m2m_model.objects.filter(asset_id__in=asset_ids, node_id__in=node_ids).delete()
if rows != num:
raise SomeoneIsDoingThis
# 发送 post 信号
[sender(action=POST_REMOVE) for sender in senders]
class RefreshNodeHardwareInfoApi(APIView):
permission_classes = (IsSuperUser,)
class NodeTaskCreateApi(generics.CreateAPIView):
model = Node
serializer_class = serializers.NodeTaskSerializer
permission_classes = (IsOrgAdmin,)
def get(self, request, *args, **kwargs):
node_id = kwargs.get('pk')
node = get_object_or_404(self.model, id=node_id)
assets = node.assets.all()
task_name = _("更新节点资产硬件信息: {}".format(node.name))
task = update_assets_hardware_info_util.delay(assets, task_name=task_name)
return Response({"task": task.id})
def get_object(self):
node_id = self.kwargs.get('pk')
node = get_object_or_none(self.model, id=node_id)
return node
@staticmethod
def set_serializer_data(s, task):
data = getattr(s, '_data', {})
data["task"] = task.id
setattr(s, '_data', data)
class TestNodeConnectiveApi(APIView):
permission_classes = (IsSuperUser,)
model = Node
@staticmethod
def refresh_nodes_cache():
Task = namedtuple('Task', ['id'])
task = Task(id="0")
return task
def perform_create(self, serializer):
action = serializer.validated_data["action"]
node = self.get_object()
if action == "refresh_cache" and node is None:
task = self.refresh_nodes_cache()
self.set_serializer_data(serializer, task)
return
if node is None:
raise Http404()
if action == "refresh":
task = update_node_assets_hardware_info_manual.delay(node)
else:
task = test_node_assets_connectivity_manual.delay(node)
self.set_serializer_data(serializer, task)
def get(self, request, *args, **kwargs):
node_id = kwargs.get('pk')
node = get_object_or_404(self.model, id=node_id)
assets = node.assets.all()
task_name = _("测试节点下资产是否可连接: {}".format(node.name))
task = test_asset_connectability_util.delay(assets, task_name=task_name)
return Response({"task": task.id})

View File

@@ -1,75 +1,183 @@
# ~*~ coding: utf-8 ~*~
# Copyright (C) 2014-2018 Beijing DuiZhan Technology Co.,Ltd. All Rights Reserved.
#
# Licensed under the GNU General Public License v2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.gnu.org/licenses/gpl-2.0.html
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from rest_framework import generics
from django.shortcuts import get_object_or_404
from rest_framework.response import Response
from rest_framework_bulk import BulkModelViewSet
from common.utils import get_logger
from ..hands import IsSuperUser, IsSuperUserOrAppUser
from ..models import SystemUser
from common.permissions import IsOrgAdmin, IsOrgAdminOrAppUser, IsValidUser
from orgs.mixins.api import OrgBulkModelViewSet
from orgs.mixins import generics
from orgs.utils import tmp_to_root_org
from ..models import SystemUser, Asset
from .. import serializers
from ..tasks import push_system_user_to_assets_manual, \
test_system_user_connectability_manual
from ..serializers import SystemUserWithAuthInfoSerializer, SystemUserTempAuthSerializer
from ..tasks import (
push_system_user_to_assets_manual, test_system_user_connectivity_manual,
push_system_user_to_assets
)
logger = get_logger(__file__)
__all__ = [
'SystemUserViewSet', 'SystemUserAuthInfoApi',
'SystemUserPushApi', 'SystemUserTestConnectiveApi'
'SystemUserViewSet', 'SystemUserAuthInfoApi', 'SystemUserAssetAuthInfoApi',
'SystemUserCommandFilterRuleListApi', 'SystemUserTaskApi', 'SystemUserAssetsListView',
'SystemUserTempAuthInfoApi', 'SystemUserAppAuthInfoApi',
]
class SystemUserViewSet(BulkModelViewSet):
class SystemUserViewSet(OrgBulkModelViewSet):
"""
System user api set, for add,delete,update,list,retrieve resource
"""
queryset = SystemUser.objects.all()
model = SystemUser
filterset_fields = {
'name': ['exact'],
'username': ['exact'],
'protocol': ['exact', 'in'],
'type': ['exact', 'in'],
}
search_fields = filterset_fields
serializer_class = serializers.SystemUserSerializer
permission_classes = (IsSuperUserOrAppUser,)
serializer_classes = {
'default': serializers.SystemUserSerializer,
}
permission_classes = (IsOrgAdminOrAppUser,)
class SystemUserAuthInfoApi(generics.RetrieveUpdateAPIView):
class SystemUserAuthInfoApi(generics.RetrieveUpdateDestroyAPIView):
"""
Get system user auth info
"""
queryset = SystemUser.objects.all()
permission_classes = (IsSuperUserOrAppUser,)
serializer_class = serializers.SystemUserAuthSerializer
model = SystemUser
permission_classes = (IsOrgAdminOrAppUser,)
serializer_class = SystemUserWithAuthInfoSerializer
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
instance.clear_auth()
return Response(status=204)
class SystemUserPushApi(generics.RetrieveAPIView):
class SystemUserTempAuthInfoApi(generics.CreateAPIView):
model = SystemUser
permission_classes = (IsValidUser,)
serializer_class = SystemUserTempAuthSerializer
def create(self, request, *args, **kwargs):
serializer = super().get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
pk = kwargs.get('pk')
user = self.request.user
data = serializer.validated_data
instance_id = data.get('instance_id')
with tmp_to_root_org():
instance = get_object_or_404(SystemUser, pk=pk)
instance.set_temp_auth(instance_id, user, data)
return Response(serializer.data, status=201)
class SystemUserAssetAuthInfoApi(generics.RetrieveAPIView):
"""
Push system user to cluster assets api
Get system user with asset auth info
"""
queryset = SystemUser.objects.all()
permission_classes = (IsSuperUser,)
model = SystemUser
permission_classes = (IsOrgAdminOrAppUser,)
serializer_class = SystemUserWithAuthInfoSerializer
def get_object(self):
instance = super().get_object()
asset_id = self.kwargs.get('asset_id')
user_id = self.request.query_params.get("user_id")
username = self.request.query_params.get("username")
instance.load_asset_more_auth(asset_id=asset_id, user_id=user_id, username=username)
return instance
class SystemUserAppAuthInfoApi(generics.RetrieveAPIView):
"""
Get system user with asset auth info
"""
model = SystemUser
permission_classes = (IsOrgAdminOrAppUser,)
serializer_class = SystemUserWithAuthInfoSerializer
def get_object(self):
instance = super().get_object()
app_id = self.kwargs.get('app_id')
user_id = self.request.query_params.get("user_id")
if user_id:
instance.load_app_more_auth(app_id, user_id)
return instance
class SystemUserTaskApi(generics.CreateAPIView):
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.SystemUserTaskSerializer
def do_push(self, system_user, asset_ids=None):
if asset_ids is None:
task = push_system_user_to_assets_manual.delay(system_user)
else:
username = self.request.query_params.get('username')
task = push_system_user_to_assets.delay(
system_user.id, asset_ids, username=username
)
return task
@staticmethod
def do_test(system_user, asset_ids):
task = test_system_user_connectivity_manual.delay(system_user, asset_ids)
return task
def get_object(self):
pk = self.kwargs.get('pk')
return get_object_or_404(SystemUser, pk=pk)
def perform_create(self, serializer):
action = serializer.validated_data["action"]
asset = serializer.validated_data.get('asset')
if asset:
assets = [asset]
else:
assets = serializer.validated_data.get('assets') or []
asset_ids = [asset.id for asset in assets]
asset_ids = asset_ids if asset_ids else None
def retrieve(self, request, *args, **kwargs):
system_user = self.get_object()
task = push_system_user_to_assets_manual.delay(system_user)
return Response({"task": task.id})
if action == 'push':
task = self.do_push(system_user, asset_ids)
else:
task = self.do_test(system_user, asset_ids)
data = getattr(serializer, '_data', {})
data["task"] = task.id
setattr(serializer, '_data', data)
class SystemUserTestConnectiveApi(generics.RetrieveAPIView):
"""
Push system user to cluster assets api
"""
queryset = SystemUser.objects.all()
permission_classes = (IsSuperUser,)
class SystemUserCommandFilterRuleListApi(generics.ListAPIView):
permission_classes = (IsOrgAdminOrAppUser,)
def retrieve(self, request, *args, **kwargs):
def get_serializer_class(self):
from ..serializers import CommandFilterRuleSerializer
return CommandFilterRuleSerializer
def get_queryset(self):
pk = self.kwargs.get('pk', None)
system_user = get_object_or_404(SystemUser, pk=pk)
return system_user.cmd_filter_rules
class SystemUserAssetsListView(generics.ListAPIView):
permission_classes = (IsOrgAdmin,)
serializer_class = serializers.AssetSimpleSerializer
filterset_fields = ("hostname", "ip")
search_fields = filterset_fields
def get_object(self):
pk = self.kwargs.get('pk')
return get_object_or_404(SystemUser, pk=pk)
def get_queryset(self):
system_user = self.get_object()
task = test_system_user_connectability_manual.delay(system_user)
return Response({"task": task.id})
return system_user.get_all_assets()

View File

@@ -0,0 +1,141 @@
# -*- coding: utf-8 -*-
#
from collections import defaultdict
from django.db.models import F, Value
from django.db.models.signals import m2m_changed
from django.db.models.functions import Concat
from common.permissions import IsOrgAdmin
from common.utils import get_logger
from orgs.mixins.api import OrgBulkModelViewSet
from orgs.utils import current_org
from .. import models, serializers
__all__ = [
'SystemUserAssetRelationViewSet', 'SystemUserNodeRelationViewSet',
'SystemUserUserRelationViewSet',
]
logger = get_logger(__name__)
class RelationMixin:
def get_queryset(self):
queryset = self.model.objects.all()
if not current_org.is_root():
org_id = current_org.org_id()
queryset = queryset.filter(systemuser__org_id=org_id)
queryset = queryset.annotate(systemuser_display=Concat(
F('systemuser__name'), Value('('),
F('systemuser__username'), Value(')')
))
return queryset
def send_post_add_signal(self, instance):
if not isinstance(instance, list):
instance = [instance]
system_users_objects_map = defaultdict(list)
model, object_field = self.get_objects_attr()
for i in instance:
_id = getattr(i, object_field).id
system_users_objects_map[i.systemuser].append(_id)
sender = self.get_sender()
for system_user, object_ids in system_users_objects_map.items():
logger.debug('System user relation changed, send m2m_changed signals')
m2m_changed.send(
sender=sender, instance=system_user, action='post_add',
reverse=False, model=model, pk_set=set(object_ids)
)
def get_sender(self):
return self.model
def get_objects_attr(self):
return models.Asset, 'asset'
def perform_create(self, serializer):
instance = serializer.save()
self.send_post_add_signal(instance)
class BaseRelationViewSet(RelationMixin, OrgBulkModelViewSet):
pass
class SystemUserAssetRelationViewSet(BaseRelationViewSet):
serializer_class = serializers.SystemUserAssetRelationSerializer
model = models.SystemUser.assets.through
permission_classes = (IsOrgAdmin,)
filterset_fields = [
'id', 'asset', 'systemuser',
]
search_fields = [
"id", "asset__hostname", "asset__ip",
"systemuser__name", "systemuser__username",
]
def get_objects_attr(self):
return models.Asset, 'asset'
def get_queryset(self):
queryset = super().get_queryset()
queryset = queryset.annotate(
asset_display=Concat(
F('asset__hostname'), Value('('),
F('asset__ip'), Value(')')
)
)
return queryset
class SystemUserNodeRelationViewSet(BaseRelationViewSet):
serializer_class = serializers.SystemUserNodeRelationSerializer
model = models.SystemUser.nodes.through
permission_classes = (IsOrgAdmin,)
filterset_fields = [
'id', 'node', 'systemuser',
]
search_fields = [
"node__value", "systemuser__name", "systemuser__username"
]
def get_objects_attr(self):
return models.Node, 'node'
def get_queryset(self):
queryset = super().get_queryset()
queryset = queryset \
.annotate(node_key=F('node__key'))
return queryset
class SystemUserUserRelationViewSet(BaseRelationViewSet):
serializer_class = serializers.SystemUserUserRelationSerializer
model = models.SystemUser.users.through
permission_classes = (IsOrgAdmin,)
filterset_fields = [
'id', 'user', 'systemuser',
]
search_fields = [
"user__username", "user__name",
"systemuser__name", "systemuser__username",
]
def get_objects_attr(self):
from users.models import User
return User, 'user'
def get_queryset(self):
queryset = super().get_queryset()
queryset = queryset.annotate(
user_display=Concat(
F('user__name'), Value('('),
F('user__username'), Value(')')
)
)
return queryset

View File

@@ -7,5 +7,5 @@ class AssetsConfig(AppConfig):
name = 'assets'
def ready(self):
from . import signals_handler
super().ready()
from . import signals_handler

View File

View File

@@ -1,38 +1,2 @@
# -*- coding: utf-8 -*-
#
UPDATE_ASSETS_HARDWARE_TASKS = [
{
'name': "setup",
'action': {
'module': 'setup'
}
}
]
ADMIN_USER_CONN_CACHE_KEY = "ADMIN_USER_CONN_{}"
TEST_ADMIN_USER_CONN_TASKS = [
{
"name": "ping",
"action": {
"module": "ping",
}
}
]
ASSET_ADMIN_CONN_CACHE_KEY = "ASSET_ADMIN_USER_CONN_{}"
SYSTEM_USER_CONN_CACHE_KEY = "SYSTEM_USER_CONN_{}"
TEST_SYSTEM_USER_CONN_TASKS = [
{
"name": "ping",
"action": {
"module": "ping",
}
}
]
TASK_OPTIONS = {
'timeout': 10,
'forks': 10,
}

View File

@@ -0,0 +1,6 @@
from rest_framework import status
from common.exceptions import JMSException
class NodeIsBeingUpdatedByOthers(JMSException):
status_code = status.HTTP_409_CONFLICT

151
apps/assets/filters.py Normal file
View File

@@ -0,0 +1,151 @@
# -*- coding: utf-8 -*-
#
from rest_framework.compat import coreapi, coreschema
from rest_framework import filters
from django.db.models import Q
from .models import Label
from assets.utils import is_query_node_all_assets, get_node
class AssetByNodeFilterBackend(filters.BaseFilterBackend):
fields = ['node', 'all']
def get_schema_fields(self, view):
return [
coreapi.Field(
name=field, location='query', required=False,
type='string', example='', description='', schema=None,
)
for field in self.fields
]
def filter_node_related_all(self, queryset, node):
return queryset.filter(
Q(nodes__key__istartswith=f'{node.key}:') |
Q(nodes__key=node.key)
).distinct()
def filter_node_related_direct(self, queryset, node):
return queryset.filter(nodes__key=node.key).distinct()
def filter_queryset(self, request, queryset, view):
node = get_node(request)
if node is None:
return queryset
query_all = is_query_node_all_assets(request)
if query_all:
return self.filter_node_related_all(queryset, node)
else:
return self.filter_node_related_direct(queryset, node)
class FilterAssetByNodeFilterBackend(filters.BaseFilterBackend):
"""
需要与 `assets.api.mixin.FilterAssetByNodeMixin` 配合使用
"""
fields = ['node', 'all']
def get_schema_fields(self, view):
return [
coreapi.Field(
name=field, location='query', required=False,
type='string', example='', description='', schema=None,
)
for field in self.fields
]
def filter_queryset(self, request, queryset, view):
node = view.node
if node is None:
return queryset
query_all = view.is_query_node_all_assets
if query_all:
return queryset.filter(
Q(nodes__key__istartswith=f'{node.key}:') |
Q(nodes__key=node.key)
).distinct()
else:
return queryset.filter(nodes__key=node.key).distinct()
class LabelFilterBackend(filters.BaseFilterBackend):
sep = ':'
query_arg = 'label'
def get_schema_fields(self, view):
example = self.sep.join(['os', 'linux'])
return [
coreapi.Field(
name=self.query_arg, location='query', required=False,
type='string', example=example, description=''
)
]
def get_query_labels(self, request):
labels_query = request.query_params.getlist(self.query_arg)
if not labels_query:
return None
q = None
for kv in labels_query:
if '#' in kv:
self.sep = '#'
if self.sep not in kv:
continue
key, value = kv.strip().split(self.sep)[:2]
if not all([key, value]):
continue
if q:
q |= Q(name=key, value=value)
else:
q = Q(name=key, value=value)
if not q:
return []
labels = Label.objects.filter(q, is_active=True)\
.values_list('id', flat=True)
return labels
def filter_queryset(self, request, queryset, view):
labels = self.get_query_labels(request)
if labels is None:
return queryset
if len(labels) == 0:
return queryset.none()
for label in labels:
queryset = queryset.filter(labels=label)
return queryset
class AssetRelatedByNodeFilterBackend(AssetByNodeFilterBackend):
def filter_node_related_all(self, queryset, node):
return queryset.filter(
Q(asset__nodes__key__istartswith=f'{node.key}:') |
Q(asset__nodes__key=node.key)
).distinct()
def filter_node_related_direct(self, queryset, node):
return queryset.filter(asset__nodes__key=node.key).distinct()
class IpInFilterBackend(filters.BaseFilterBackend):
def filter_queryset(self, request, queryset, view):
ips = request.query_params.get('ips')
if not ips:
return queryset
ip_list = [i.strip() for i in ips.split(',')]
queryset = queryset.filter(ip__in=ip_list)
return queryset
def get_schema_fields(self, view):
return [
coreapi.Field(
name='ips', location='query', required=False, type='string',
schema=coreschema.String(
title='ips',
description='ip in filter'
)
)
]

Some files were not shown because too many files have changed in this diff Show More