Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gjl2004yn
jumpserver
提交
4797f99f
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,发现更多精彩内容 >>
提交
4797f99f
编写于
9月 16, 2019
作者:
B
BaiJiangJie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Bugfix] 修复用户认证序列类获取 request 的问题
上级
58288975
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
3 deletion
+29
-3
apps/authentication/api/auth.py
apps/authentication/api/auth.py
+23
-3
apps/common/permissions.py
apps/common/permissions.py
+6
-0
未找到文件。
apps/authentication/api/auth.py
浏览文件 @
4797f99f
...
...
@@ -41,6 +41,16 @@ class UserAuthApi(RootOrgViewMixin, APIView):
permission_classes
=
(
AllowAny
,)
serializer_class
=
UserSerializer
def
get_serializer_context
(
self
):
return
{
'request'
:
self
.
request
,
'view'
:
self
}
def
get_serializer
(
self
,
*
args
,
**
kwargs
):
kwargs
[
'context'
]
=
self
.
get_serializer_context
()
return
self
.
serializer_class
(
*
args
,
**
kwargs
)
def
post
(
self
,
request
):
# limit login
username
=
request
.
data
.
get
(
'username'
)
...
...
@@ -65,7 +75,7 @@ class UserAuthApi(RootOrgViewMixin, APIView):
clean_failed_count
(
username
,
ip
)
token
,
expired_at
=
user
.
create_bearer_token
(
request
)
return
Response
(
{
'token'
:
token
,
'user'
:
self
.
serializer_class
(
user
).
data
}
{
'token'
:
token
,
'user'
:
self
.
get_serializer
(
user
).
data
}
)
seed
=
uuid
.
uuid4
().
hex
...
...
@@ -77,7 +87,7 @@ class UserAuthApi(RootOrgViewMixin, APIView):
'conduct MFA secondary certification'
),
'otp_url'
:
reverse
(
'api-auth:user-otp-auth'
),
'seed'
:
seed
,
'user'
:
self
.
serializer_class
(
user
).
data
'user'
:
self
.
get_serializer
(
user
).
data
},
status
=
300
)
...
...
@@ -147,6 +157,16 @@ class UserOtpAuthApi(RootOrgViewMixin, APIView):
permission_classes
=
(
AllowAny
,)
serializer_class
=
UserSerializer
def
get_serializer_context
(
self
):
return
{
'request'
:
self
.
request
,
'view'
:
self
}
def
get_serializer
(
self
,
*
args
,
**
kwargs
):
kwargs
[
'context'
]
=
self
.
get_serializer_context
()
return
self
.
serializer_class
(
*
args
,
**
kwargs
)
def
post
(
self
,
request
):
otp_code
=
request
.
data
.
get
(
'otp_code'
,
''
)
seed
=
request
.
data
.
get
(
'seed'
,
''
)
...
...
@@ -161,7 +181,7 @@ class UserOtpAuthApi(RootOrgViewMixin, APIView):
return
Response
({
'msg'
:
_
(
'MFA certification failed'
)},
status
=
401
)
self
.
send_auth_signal
(
success
=
True
,
user
=
user
)
token
,
expired_at
=
user
.
create_bearer_token
(
request
)
data
=
{
'token'
:
token
,
'user'
:
self
.
serializer_class
(
user
).
data
}
data
=
{
'token'
:
token
,
'user'
:
self
.
get_serializer
(
user
).
data
}
return
Response
(
data
)
def
send_auth_signal
(
self
,
success
=
True
,
user
=
None
,
username
=
''
,
reason
=
''
):
...
...
apps/common/permissions.py
浏览文件 @
4797f99f
...
...
@@ -132,6 +132,8 @@ class CanUpdateDeleteUser(permissions.BasePermission):
@
staticmethod
def
has_delete_object_permission
(
request
,
view
,
obj
):
if
request
.
user
.
is_anonymous
:
return
False
if
not
request
.
user
.
can_admin_current_org
:
return
False
# 超级管理员 / 组织管理员
...
...
@@ -157,6 +159,8 @@ class CanUpdateDeleteUser(permissions.BasePermission):
@
staticmethod
def
has_update_object_permission
(
request
,
view
,
obj
):
if
request
.
user
.
is_anonymous
:
return
False
if
not
request
.
user
.
can_admin_current_org
:
return
False
# 超级管理员 / 组织管理员
...
...
@@ -179,6 +183,8 @@ class CanUpdateDeleteUser(permissions.BasePermission):
return
True
def
has_object_permission
(
self
,
request
,
view
,
obj
):
if
request
.
user
.
is_anonymous
:
return
False
if
not
request
.
user
.
can_admin_current_org
:
return
False
if
request
.
method
in
[
'DELETE'
]:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录