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
29061aa0
Commit
29061aa0
authored
Jan 16, 2018
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Bugfix] user login ip
parent
dad21cad
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
5 deletions
+15
-5
api.py
apps/terminal/api.py
+3
-1
api.py
apps/users/api.py
+5
-1
utils.py
apps/users/utils.py
+2
-1
login.py
apps/users/views/login.py
+5
-2
No files found.
apps/terminal/api.py
View file @
29061aa0
...
@@ -141,7 +141,9 @@ class StatusViewSet(viewsets.ModelViewSet):
...
@@ -141,7 +141,9 @@ class StatusViewSet(viewsets.ModelViewSet):
session
=
serializer
.
save
()
session
=
serializer
.
save
()
return
session
return
session
else
:
else
:
msg
=
"session data is not valid {}"
.
format
(
serializer
.
errors
)
msg
=
"session data is not valid {}: {}"
.
format
(
serializer
.
errors
,
str
(
serializer
.
data
)
)
logger
.
error
(
msg
)
logger
.
error
(
msg
)
return
None
return
None
...
...
apps/users/api.py
View file @
29061aa0
...
@@ -128,7 +128,11 @@ class UserAuthApi(APIView):
...
@@ -128,7 +128,11 @@ class UserAuthApi(APIView):
user_agent
=
request
.
data
.
get
(
'HTTP_USER_AGENT'
,
''
)
user_agent
=
request
.
data
.
get
(
'HTTP_USER_AGENT'
,
''
)
if
not
login_ip
:
if
not
login_ip
:
login_ip
=
request
.
META
.
get
(
'HTTP_X_FORWARDED_FOR'
)
or
request
.
META
.
get
(
"REMOTE_ADDR"
)
x_forwarded_for
=
request
.
META
.
get
(
'HTTP_X_FORWARDED_FOR'
)
.
split
()
if
x_forwarded_for
:
login_ip
=
x_forwarded_for
[
0
]
else
:
login_ip
=
request
.
META
.
get
(
"REMOTE_ADDR"
)
user
,
msg
=
check_user_valid
(
user
,
msg
=
check_user_valid
(
username
=
username
,
password
=
password
,
username
=
username
,
password
=
password
,
...
...
apps/users/utils.py
View file @
29061aa0
...
@@ -180,7 +180,8 @@ def validate_ip(ip):
...
@@ -180,7 +180,8 @@ def validate_ip(ip):
def
write_login_log
(
username
,
type
=
''
,
ip
=
''
,
user_agent
=
''
):
def
write_login_log
(
username
,
type
=
''
,
ip
=
''
,
user_agent
=
''
):
if
not
(
ip
and
validate_ip
(
ip
)):
if
not
(
ip
and
validate_ip
(
ip
)):
ip
=
'0.0.0.0'
city
=
"Unknown"
else
:
city
=
get_ip_city
(
ip
)
city
=
get_ip_city
(
ip
)
LoginLog
.
objects
.
create
(
LoginLog
.
objects
.
create
(
username
=
username
,
type
=
type
,
username
=
username
,
type
=
type
,
...
...
apps/users/views/login.py
View file @
29061aa0
...
@@ -53,8 +53,11 @@ class UserLoginView(FormView):
...
@@ -53,8 +53,11 @@ class UserLoginView(FormView):
if
not
self
.
request
.
session
.
test_cookie_worked
():
if
not
self
.
request
.
session
.
test_cookie_worked
():
return
HttpResponse
(
_
(
"Please enable cookies and try again."
))
return
HttpResponse
(
_
(
"Please enable cookies and try again."
))
auth_login
(
self
.
request
,
form
.
get_user
())
auth_login
(
self
.
request
,
form
.
get_user
())
login_ip
=
self
.
request
.
META
.
get
(
'HTTP_X_FORWARDED_FOR'
)
or
\
x_forwarded_for
=
self
.
request
.
META
.
get
(
'HTTP_X_FORWARDED_FOR'
,
''
)
.
split
()
self
.
request
.
META
.
get
(
'REMOTE_ADDR'
,
''
)
if
x_forwarded_for
:
login_ip
=
x_forwarded_for
[
0
]
else
:
login_ip
=
self
.
request
.
META
.
get
(
'REMOTE_ADDR'
,
''
)
user_agent
=
self
.
request
.
META
.
get
(
'HTTP_USER_AGENT'
,
''
)
user_agent
=
self
.
request
.
META
.
get
(
'HTTP_USER_AGENT'
,
''
)
write_login_log_async
.
delay
(
write_login_log_async
.
delay
(
self
.
request
.
user
.
username
,
type
=
'W'
,
self
.
request
.
user
.
username
,
type
=
'W'
,
...
...
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