Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gjl2004yn
jumpserver
提交
b92ccdd0
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,发现更多精彩内容 >>
未验证
提交
b92ccdd0
编写于
3月 12, 2018
作者:
L
liuzheng
提交者:
liuzheng712
3月 12, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: update the jms-storage==0.0.11
上级
9ffb079c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
31 deletion
+14
-31
apps/terminal/api.py
apps/terminal/api.py
+13
-31
requirements/requirements.txt
requirements/requirements.txt
+1
-0
未找到文件。
apps/terminal/api.py
浏览文件 @
b92ccdd0
...
...
@@ -4,7 +4,6 @@ from collections import OrderedDict
import
logging
import
os
import
uuid
import
boto3
# AWS S3 sdk
from
django.core.cache
import
cache
from
django.shortcuts
import
get_object_or_404
,
redirect
...
...
@@ -13,6 +12,8 @@ from django.core.files.storage import default_storage
from
django.http
import
HttpResponseNotFound
from
django.conf
import
settings
import
jms_storage
from
rest_framework
import
viewsets
,
serializers
from
rest_framework.views
import
APIView
,
Response
from
rest_framework.permissions
import
AllowAny
...
...
@@ -282,36 +283,17 @@ class SessionReplayViewSet(viewsets.ViewSet):
url
=
default_storage
.
url
(
path
)
return
redirect
(
url
)
else
:
config
=
settings
.
TERMINAL_REPLAY_STORAGE
.
items
()
if
config
:
for
name
,
value
in
config
:
if
value
.
get
(
"TYPE"
,
''
)
==
"s3"
:
client
,
bucket
=
self
.
s3Client
(
value
)
try
:
date
=
self
.
session
.
date_start
.
strftime
(
'%Y-%m-%d'
)
client
.
head_object
(
Bucket
=
bucket
,
Key
=
os
.
path
.
join
(
date
,
str
(
self
.
session
.
id
)
+
'.replay.gz'
))
client
.
download_file
(
bucket
,
os
.
path
.
join
(
date
,
str
(
self
.
session
.
id
)
+
'.replay.gz'
),
default_storage
.
base_location
+
'/'
+
path
)
return
redirect
(
default_storage
.
url
(
path
))
except
:
pass
return
HttpResponseNotFound
()
def
s3Client
(
self
,
config
):
bucket
=
config
.
get
(
"BUCKET"
,
"jumpserver"
)
REGION
=
config
.
get
(
"REGION"
,
None
)
ACCESS_KEY
=
config
.
get
(
"ACCESS_KEY"
,
None
)
SECRET_KEY
=
config
.
get
(
"SECRET_KEY"
,
None
)
if
ACCESS_KEY
and
REGION
and
SECRET_KEY
:
s3
=
boto3
.
client
(
's3'
,
region_name
=
REGION
,
aws_access_key_id
=
ACCESS_KEY
,
aws_secret_access_key
=
SECRET_KEY
)
else
:
s3
=
boto3
.
client
(
's3'
)
return
s3
,
bucket
configs
=
settings
.
TERMINAL_REPLAY_STORAGE
.
items
()
if
configs
:
for
name
,
config
in
configs
:
client
=
jms_storage
.
init
(
config
)
date
=
self
.
session
.
date_start
.
strftime
(
'%Y-%m-%d'
)
if
client
.
has_file
(
os
.
path
.
join
(
date
,
str
(
self
.
session
.
id
)
+
'.replay.gz'
))
\
and
\
client
.
download_file
(
os
.
path
.
join
(
date
,
str
(
self
.
session
.
id
)
+
'.replay.gz'
),
default_storage
.
base_location
+
'/'
+
path
):
return
redirect
(
default_storage
.
url
(
path
))
return
HttpResponseNotFound
()
class
TerminalConfig
(
APIView
):
...
...
requirements/requirements.txt
浏览文件 @
b92ccdd0
...
...
@@ -61,6 +61,7 @@ pytz==2017.3
PyYAML==3.12
redis==2.10.6
requests==2.18.4
jms-storage==0.0.11
s3transfer==0.1.13
simplejson==3.13.2
six==1.11.0
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录