Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gjl2004yn
jumpserver
提交
3e554473
J
jumpserver
项目概览
gjl2004yn
/
jumpserver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jumpserver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
3e554473
编写于
1月 20, 2021
作者:
J
Jiangjie.Bai
提交者:
GitHub
1月 20, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5497 from jumpserver/dev
Dev
上级
ee220066
3ac20d80
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
47 addition
and
43 deletion
+47
-43
apps/assets/models/authbook.py
apps/assets/models/authbook.py
+1
-1
apps/audits/signals_handler.py
apps/audits/signals_handler.py
+2
-1
apps/authentication/models.py
apps/authentication/models.py
+1
-2
apps/locale/zh/LC_MESSAGES/django.mo
apps/locale/zh/LC_MESSAGES/django.mo
+0
-0
apps/locale/zh/LC_MESSAGES/django.po
apps/locale/zh/LC_MESSAGES/django.po
+31
-31
apps/terminal/backends/command/serializers.py
apps/terminal/backends/command/serializers.py
+6
-1
apps/terminal/serializers/storage.py
apps/terminal/serializers/storage.py
+4
-4
apps/tickets/handler/base.py
apps/tickets/handler/base.py
+1
-1
apps/users/views/profile/reset.py
apps/users/views/profile/reset.py
+1
-2
未找到文件。
apps/assets/models/authbook.py
浏览文件 @
3e554473
...
...
@@ -57,7 +57,7 @@ class AuthBook(BaseUser):
同时设置自己的 is_latest=True, version=max_version + 1
"""
username
=
kwargs
[
'username'
]
asset
=
kwargs
[
'asset'
]
asset
=
kwargs
.
get
(
'asset'
)
or
kwargs
.
get
(
'asset_id'
)
with
transaction
.
atomic
():
# 使用select_for_update限制并发创建相同的username、asset条目
instances
=
cls
.
objects
.
select_for_update
().
filter
(
username
=
username
,
asset
=
asset
)
...
...
apps/audits/signals_handler.py
浏览文件 @
3e554473
...
...
@@ -125,7 +125,8 @@ def on_audits_log_create(sender, instance=None, **kwargs):
def
get_login_backend
(
request
):
backend
=
request
.
session
.
get
(
BACKEND_SESSION_KEY
,
''
)
backend
=
request
.
session
.
get
(
'auth_backend'
,
''
)
or
request
.
session
.
get
(
BACKEND_SESSION_KEY
,
''
)
backend
=
backend
.
rsplit
(
'.'
,
maxsplit
=
1
)[
-
1
]
if
backend
in
LOGIN_BACKEND
:
return
LOGIN_BACKEND
[
backend
]
...
...
apps/authentication/models.py
浏览文件 @
3e554473
...
...
@@ -69,17 +69,16 @@ class LoginConfirmSetting(CommonModelMixin):
from
tickets
import
const
from
tickets.models
import
Ticket
ticket_title
=
_
(
'Login confirm'
)
+
' {}'
.
format
(
self
.
user
)
ticket_applicant
=
self
.
user
ticket_meta
=
self
.
construct_confirm_ticket_meta
(
request
)
ticket_assignees
=
self
.
reviewers
.
all
()
data
=
{
'title'
:
ticket_title
,
'type'
:
const
.
TicketTypeChoices
.
login_confirm
.
value
,
'applicant'
:
ticket_applicant
,
'meta'
:
ticket_meta
,
}
ticket
=
Ticket
.
objects
.
create
(
**
data
)
ticket
.
assignees
.
set
(
ticket_assignees
)
ticket
.
open
(
self
.
user
)
return
ticket
def
__str__
(
self
):
...
...
apps/locale/zh/LC_MESSAGES/django.mo
浏览文件 @
3e554473
无法预览此类型文件
apps/locale/zh/LC_MESSAGES/django.po
浏览文件 @
3e554473
...
...
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-
19 20:03
+0800\n"
"POT-Creation-Date: 2021-01-
20 16:09
+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n"
...
...
@@ -268,7 +268,7 @@ msgstr "主机名"
#: assets/models/asset.py:194 assets/models/domain.py:54
#: assets/models/user.py:120 terminal/serializers/session.py:29
#: terminal/serializers/storage.py:6
8
#: terminal/serializers/storage.py:6
9
msgid "Protocol"
msgstr "协议"
...
...
@@ -555,7 +555,7 @@ msgstr "默认资产组"
#: assets/models/label.py:15 audits/models.py:36 audits/models.py:56
#: audits/models.py:69 audits/serializers.py:81 authentication/models.py:44
#: authentication/models.py:9
6
orgs/models.py:18 orgs/models.py:423
#: authentication/models.py:9
5
orgs/models.py:18 orgs/models.py:423
#: perms/models/asset_permission.py:173 perms/models/base.py:49
#: templates/index.html:78 terminal/backends/command/models.py:18
#: terminal/backends/command/serializers.py:12 terminal/models/session.py:37
...
...
@@ -653,7 +653,7 @@ msgstr "登录模式"
msgid "SFTP Root"
msgstr "SFTP根路径"
#: assets/models/user.py:127 authentication/models.py:9
4
#: assets/models/user.py:127 authentication/models.py:9
3
msgid "Token"
msgstr ""
...
...
@@ -726,7 +726,7 @@ msgstr "硬件信息"
msgid "Org name"
msgstr "组织名称"
#: assets/serializers/asset.py:162 assets/serializers/asset.py:
193
#: assets/serializers/asset.py:162 assets/serializers/asset.py:
201
msgid "Connectivity"
msgstr "连接"
...
...
@@ -1129,7 +1129,7 @@ msgstr "是否成功"
msgid "Result"
msgstr "结果"
#: audits/serializers.py:79 terminal/serializers/storage.py:17
7
#: audits/serializers.py:79 terminal/serializers/storage.py:17
8
msgid "Hosts"
msgstr "主机"
...
...
@@ -1324,7 +1324,7 @@ msgstr "审批人"
msgid "Login confirm"
msgstr "登录复核"
#: authentication/models.py:9
5
#: authentication/models.py:9
4
msgid "Expired"
msgstr "过期时间"
...
...
@@ -2714,60 +2714,60 @@ msgstr "是否可重放"
msgid "Can join"
msgstr "是否可加入"
#: terminal/serializers/storage.py:2
0
#: terminal/serializers/storage.py:2
1
msgid "Endpoint invalid: remove path `{}`"
msgstr "端点无效: 移除路径 `{}`"
#: terminal/serializers/storage.py:2
6
#: terminal/serializers/storage.py:2
7
msgid "Bucket"
msgstr "桶名称"
#: terminal/serializers/storage.py:
29
#: terminal/serializers/storage.py:
30
msgid "Access key"
msgstr ""
#: terminal/serializers/storage.py:3
3
#: terminal/serializers/storage.py:3
4
msgid "Secret key"
msgstr ""
#: terminal/serializers/storage.py:3
8 terminal/serializers/storage.py:50
#: terminal/serializers/storage.py:8
0
#: terminal/serializers/storage.py:3
9 terminal/serializers/storage.py:51
#: terminal/serializers/storage.py:8
1
msgid "Endpoint"
msgstr "端点"
#: terminal/serializers/storage.py:6
5
xpack/plugins/cloud/models.py:276
#: terminal/serializers/storage.py:6
6
xpack/plugins/cloud/models.py:276
msgid "Region"
msgstr "地域"
#: terminal/serializers/storage.py:9
0
#: terminal/serializers/storage.py:9
1
msgid "Container name"
msgstr "容器名称"
#: terminal/serializers/storage.py:9
2
#: terminal/serializers/storage.py:9
3
msgid "Account name"
msgstr "账户名称"
#: terminal/serializers/storage.py:9
3
#: terminal/serializers/storage.py:9
4
msgid "Account key"
msgstr "账户密钥"
#: terminal/serializers/storage.py:9
6
#: terminal/serializers/storage.py:9
7
msgid "Endpoint suffix"
msgstr "端点后缀"
#: terminal/serializers/storage.py:15
4
#: terminal/serializers/storage.py:15
5
msgid "The address format is incorrect"
msgstr "地址格式不正确"
#: terminal/serializers/storage.py:16
1
#: terminal/serializers/storage.py:16
2
msgid "Host invalid"
msgstr "主机无效"
#: terminal/serializers/storage.py:16
4
#: terminal/serializers/storage.py:16
5
msgid "Port invalid"
msgstr "端口无效"
#: terminal/serializers/storage.py:18
0
#: terminal/serializers/storage.py:18
1
msgid "Index"
msgstr "索引"
...
...
@@ -2911,8 +2911,8 @@ msgid "Approved actions"
msgstr "批准的动作"
#: tickets/handler/base.py:62
msgid "
User
{} {} the ticket"
msgstr "
用户 {} {} 这个
工单"
msgid "{} {} the ticket"
msgstr "
{} {}
工单"
#: tickets/handler/base.py:91
msgid "Ticket title"
...
...
@@ -3236,7 +3236,7 @@ msgid "Join user groups"
msgstr "添加到用户组"
#: users/forms/user.py:103 users/views/profile/password.py:59
#: users/views/profile/reset.py:12
7
#: users/views/profile/reset.py:12
6
msgid "* Your password does not meet the requirements"
msgstr "* 您的密码不符合要求"
...
...
@@ -3867,7 +3867,7 @@ msgstr "新的公钥已设置成功,请下载对应的私钥"
msgid "Update user"
msgstr "更新用户"
#: users/templates/users/user_update.html:22 users/views/profile/reset.py:1
20
#: users/templates/users/user_update.html:22 users/views/profile/reset.py:1
19
msgid "User auth from {}, go there change password"
msgstr "用户认证源来自 {}, 请去相应系统修改密码"
...
...
@@ -3975,7 +3975,7 @@ msgstr ""
" <br>\n"
" "
#: users/utils.py:116 users/views/profile/reset.py:
80
#: users/utils.py:116 users/views/profile/reset.py:
79
msgid "Reset password success"
msgstr "重置密码成功"
...
...
@@ -4188,20 +4188,20 @@ msgid ""
"password"
msgstr "用户来自 {} 请去相应系统修改密码"
#: users/views/profile/reset.py:6
6
#: users/views/profile/reset.py:6
5
msgid "Send reset password message"
msgstr "发送重置密码邮件"
#: users/views/profile/reset.py:6
7
#: users/views/profile/reset.py:6
6
msgid "Send reset password mail success, login your mail box and follow it "
msgstr ""
"发送重置邮件成功, 请登录邮箱查看, 按照提示操作 (如果没收到,请等待3-5分钟)"
#: users/views/profile/reset.py:8
1
#: users/views/profile/reset.py:8
0
msgid "Reset password success, return to login page"
msgstr "重置密码成功,返回到登录页面"
#: users/views/profile/reset.py:10
5 users/views/profile/reset.py:115
#: users/views/profile/reset.py:10
4 users/views/profile/reset.py:114
msgid "Token invalid or expired"
msgstr "Token错误或失效"
...
...
apps/terminal/backends/command/serializers.py
浏览文件 @
3e554473
...
...
@@ -9,7 +9,7 @@ class SessionCommandSerializer(serializers.Serializer):
"""使用这个类作为基础Command Log Serializer类, 用来序列化"""
id
=
serializers
.
UUIDField
(
read_only
=
True
)
user
=
serializers
.
CharField
(
max_length
=
64
,
label
=
_
(
"User"
))
user
=
serializers
.
CharField
(
label
=
_
(
"User"
))
# 限制 64 字符,见 validate_user
asset
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
"Asset"
))
system_user
=
serializers
.
CharField
(
max_length
=
64
,
label
=
_
(
"System user"
))
input
=
serializers
.
CharField
(
max_length
=
128
,
label
=
_
(
"Command"
))
...
...
@@ -25,6 +25,11 @@ class SessionCommandSerializer(serializers.Serializer):
risk_mapper
=
dict
(
AbstractSessionCommand
.
RISK_LEVEL_CHOICES
)
return
risk_mapper
.
get
(
obj
.
risk_level
)
def
validate_user
(
self
,
value
):
if
len
(
value
)
>
64
:
value
=
value
[:
32
]
+
value
[
-
32
:]
return
value
class
InsecureCommandAlertSerializer
(
serializers
.
Serializer
):
input
=
serializers
.
CharField
()
...
...
apps/terminal/serializers/storage.py
浏览文件 @
3e554473
...
...
@@ -6,6 +6,7 @@ from urllib.parse import urlparse
from
django.utils.translation
import
ugettext_lazy
as
_
from
django.db.models
import
TextChoices
from
common.drf.serializers
import
MethodSerializer
from
common.drf.fields
import
ReadableHiddenField
from
..models
import
ReplayStorage
,
CommandStorage
from
..
import
const
...
...
@@ -170,7 +171,7 @@ class CommandStorageTypeESSerializer(serializers.Serializer):
hosts_help_text
=
'''
Tip: If there are multiple hosts, use a comma (,) to separate them.
(eg: http://www.jumpserver.a.com
, http://www.jumpserver.b.com
)
(eg: http://www.jumpserver.a.com
:9100, http://www.jumpserver.b.com:9100
)
'''
HOSTS
=
serializers
.
ListField
(
child
=
serializers
.
CharField
(
validators
=
[
command_storage_es_host_format_validator
]),
...
...
@@ -179,9 +180,8 @@ class CommandStorageTypeESSerializer(serializers.Serializer):
INDEX
=
serializers
.
CharField
(
max_length
=
1024
,
default
=
'jumpserver'
,
label
=
_
(
'Index'
),
allow_null
=
True
)
DOC_TYPE
=
serializers
.
CharField
(
max_length
=
1024
,
read_only
=
True
,
default
=
'command'
,
label
=
_
(
'Doc type'
),
allow_null
=
True
)
DOC_TYPE
=
ReadableHiddenField
(
default
=
'command'
,
label
=
_
(
'Doc type'
),
allow_null
=
True
)
# mapping
...
...
apps/tickets/handler/base.py
浏览文件 @
3e554473
...
...
@@ -59,7 +59,7 @@ class BaseHandler(object):
user_display
=
str
(
user
)
action_display
=
self
.
ticket
.
get_action_display
()
data
=
{
'body'
:
_
(
'
User {} {} the ticket'
.
format
(
user_display
,
action_display
)
),
'body'
:
_
(
'
{} {} the ticket'
).
format
(
user_display
,
action_display
),
'user'
:
user
,
'user_display'
:
user_display
}
...
...
apps/users/views/profile/reset.py
浏览文件 @
3e554473
...
...
@@ -49,8 +49,7 @@ class UserForgotPasswordView(FormView):
if
not
user
.
is_local
:
error
=
_
(
'The user is from {}, please go to the corresponding system to change the password'
''
.
format
(
user
.
get_source_display
())
)
).
format
(
user
.
get_source_display
())
form
.
add_error
(
'email'
,
error
)
return
self
.
form_invalid
(
form
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录