Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
1a63d32f
Commit
1a63d32f
authored
Nov 24, 2015
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug
parent
ec9b00e2
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
28 deletions
+15
-28
views.py
jlog/views.py
+1
-0
api.py
jumpserver/api.py
+4
-1
run_websocket.py
run_websocket.py
+7
-12
log_online.html
templates/jlog/log_online.html
+3
-15
No files found.
jlog/views.py
View file @
1a63d32f
...
...
@@ -51,6 +51,7 @@ def log_list(request, offset):
web_monitor_uri
=
'ws://
%
s/monitor'
%
WEB_SOCKET_HOST
web_kill_uri
=
'http://
%
s/kill'
%
WEB_SOCKET_HOST
session_id
=
request
.
session
.
session_key
return
render_to_response
(
'jlog/log_
%
s.html'
%
offset
,
locals
(),
context_instance
=
RequestContext
(
request
))
...
...
jumpserver/api.py
View file @
1a63d32f
...
...
@@ -54,7 +54,10 @@ def get_asset_info(asset):
if
default
:
info
[
'port'
]
=
default
.
default_port
info
[
'username'
]
=
default
.
default_user
info
[
'password'
]
=
CRYPTOR
.
decrypt
(
default
.
default_password
)
try
:
info
[
'password'
]
=
CRYPTOR
.
decrypt
(
default
.
default_password
)
except
ServerError
:
pass
info
[
'ssh_key'
]
=
default
.
default_pri_key_path
else
:
info
[
'port'
]
=
asset
.
port
...
...
run_websocket.py
View file @
1a63d32f
...
...
@@ -42,7 +42,7 @@ def require_auth(role='user'):
if
request
.
get_cookie
(
'sessionid'
):
session_key
=
request
.
get_cookie
(
'sessionid'
)
else
:
session_key
=
request
.
get_
secure_cookie
(
'sessionid
'
)
session_key
=
request
.
get_
argument
(
'sessionid'
,
'
'
)
logger
.
debug
(
'Websocket: session_key:
%
s'
%
session_key
)
if
session_key
:
...
...
@@ -62,7 +62,10 @@ def require_auth(role='user'):
return
func
(
request
,
*
args
,
**
kwargs
)
else
:
logger
.
debug
(
'Websocket: session expired:
%
s'
%
session_key
)
request
.
close
()
try
:
request
.
close
()
except
AttributeError
:
pass
logger
.
warning
(
'Websocket: Request auth failed.'
)
# asset_id = int(request.get_argument('id', 9999))
# print asset_id
...
...
@@ -99,14 +102,7 @@ class EventHandler(ProcessEvent):
def
__init__
(
self
,
client
=
None
):
self
.
client
=
client
def
process_IN_CREATE
(
self
,
event
):
print
"Create file:
%
s."
%
os
.
path
.
join
(
event
.
path
,
event
.
name
)
def
process_IN_DELETE
(
self
,
event
):
print
"Delete file:
%
s."
%
os
.
path
.
join
(
event
.
path
,
event
.
name
)
def
process_IN_MODIFY
(
self
,
event
):
print
"Modify file:
%
s."
%
os
.
path
.
join
(
event
.
path
,
event
.
name
)
self
.
client
.
write_message
(
f
.
read
())
...
...
@@ -222,12 +218,11 @@ class WebTerminalKillHandler(tornado.web.RequestHandler):
ws_id
=
self
.
get_argument
(
'id'
)
Log
.
objects
.
filter
(
id
=
ws_id
)
.
update
(
is_finished
=
True
)
for
ws
in
WebTerminalHandler
.
clients
:
print
ws
.
id
if
ws
.
id
==
int
(
ws_id
):
print
"killed"
logger
.
debug
(
"Kill log id
%
s"
%
ws_id
)
ws
.
log
.
save
()
ws
.
close
()
print
len
(
WebTerminalHandler
.
clients
)
logger
.
debug
(
'Websocket: web terminal client num:
%
s'
%
len
(
WebTerminalHandler
.
clients
)
)
class
WebTerminalHandler
(
tornado
.
websocket
.
WebSocketHandler
):
...
...
templates/jlog/log_online.html
View file @
1a63d32f
...
...
@@ -50,7 +50,7 @@
<div
class=
"col-lg-12"
>
<div
class=
"ibox float-e-margins"
>
<div
id=
"ibox-content"
class=
"ibox-title"
>
<h5>
用户日志详细信息列表
<
input
type=
"button"
id=
"test_connect"
class=
"btn btn-primary"
value=
"测试连接 web terminal"
/>
<
/h5>
<h5>
用户日志详细信息列表
</h5>
<div
class=
"ibox-tools"
>
<a
class=
"collapse-link"
>
<i
class=
"fa fa-chevron-up"
></i>
...
...
@@ -186,29 +186,17 @@
});
});
{
#
function
log_search
(){
#
}
{
#
$
.
ajax
({
#
}
{
#
type
:
"GET"
,
#
}
{
#
url
:
"/jlog/search/?env=online"
,
#
}
{
#
data
:
$
(
"#search_form"
).
serialize
(),
#
}
{
#
success
:
function
(
data
)
{
#
}
{
#
$
(
".tab-content"
).
html
(
data
);
#
}
{
#
}
#
}
{
#
});
#
}
{
#
}
#
}
function
cut
(
num
,
host
){
console
.
log
(
host
);
if
(
host
==
'Web'
){
var
g_url
=
'{{ web_kill_uri }}'
+
'?id='
+
num
;
}
else
{
g_url
=
"/jlog/log_kill/?id="
+
num
;
var
g_url
=
"/jlog/log_kill/?id="
+
num
;
}
$
.
ajax
({
type
:
"GET"
,
url
:
g_url
,
url
:
g_url
+
"&sessionid={{ session_id }}"
,
success
:
window
.
open
(
"/jlog/log_list/online/"
,
"_self"
)
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment