Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gjl2004yn
jumpserver
提交
8e0afb2c
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,发现更多精彩内容 >>
提交
8e0afb2c
编写于
11月 27, 2016
作者:
A
Administrator
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调整模型
上级
2494fa58
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
29 addition
and
16 deletion
+29
-16
apps/jumpserver/api_router.py
apps/jumpserver/api_router.py
+9
-9
apps/jumpserver/urls.py
apps/jumpserver/urls.py
+2
-2
apps/ops/models/sudo.py
apps/ops/models/sudo.py
+16
-3
apps/ops/views.py
apps/ops/views.py
+1
-1
apps/templates/_nav.html
apps/templates/_nav.html
+1
-1
未找到文件。
apps/jumpserver/api_router.py
浏览文件 @
8e0afb2c
from
rest_framework.routers
import
DefaultRouter
from
rest_framework.routers
import
DefaultRouter
from
ops.api
import
views
as
ops_api_view
from
ops.api
import
views
as
ops_api_view
router
=
DefaultRouter
()
api_router
=
DefaultRouter
()
router
.
register
(
r
'host_alia'
,
ops_api_view
.
HostAliaViewSet
)
api_router
.
register
(
r
'host_alia'
,
ops_api_view
.
HostAliaViewSet
)
router
.
register
(
r
'user_alia'
,
ops_api_view
.
UserAliaViewSet
)
api_router
.
register
(
r
'user_alia'
,
ops_api_view
.
UserAliaViewSet
)
router
.
register
(
r
'cmd_alia'
,
ops_api_view
.
CmdAliaViewSet
)
api_router
.
register
(
r
'cmd_alia'
,
ops_api_view
.
CmdAliaViewSet
)
router
.
register
(
r
'runas_alia'
,
ops_api_view
.
RunasAliaViewSet
)
api_router
.
register
(
r
'runas_alia'
,
ops_api_view
.
RunasAliaViewSet
)
router
.
register
(
r
'extra_conf'
,
ops_api_view
.
ExtraconfViewSet
)
api_router
.
register
(
r
'extra_conf'
,
ops_api_view
.
ExtraconfViewSet
)
router
.
register
(
r
'privilege'
,
ops_api_view
.
PrivilegeViewSet
)
api_router
.
register
(
r
'privilege'
,
ops_api_view
.
PrivilegeViewSet
)
router
.
register
(
r
'sudo'
,
ops_api_view
.
SudoViewSet
)
api_router
.
register
(
r
'sudo'
,
ops_api_view
.
SudoViewSet
)
router
.
register
(
r
'cron'
,
ops_api_view
.
CronTableViewSet
)
api_router
.
register
(
r
'cron'
,
ops_api_view
.
CronTableViewSet
)
\ No newline at end of file
\ No newline at end of file
apps/jumpserver/urls.py
浏览文件 @
8e0afb2c
...
@@ -20,7 +20,7 @@ from django.conf.urls import url, include
...
@@ -20,7 +20,7 @@ from django.conf.urls import url, include
from
django.conf
import
settings
from
django.conf
import
settings
from
django.conf.urls.static
import
static
from
django.conf.urls.static
import
static
from
django.views.generic.base
import
TemplateView
from
django.views.generic.base
import
TemplateView
from
jumpserver.api_router
import
router
from
jumpserver.api_router
import
api_
router
urlpatterns
=
[
urlpatterns
=
[
...
@@ -41,7 +41,7 @@ urlpatterns = [
...
@@ -41,7 +41,7 @@ urlpatterns = [
urlpatterns
+=
[
urlpatterns
+=
[
url
(
r
'^api/v1/ops'
,
include
(
router
.
urls
)),
url
(
r
'^api/v1/ops'
,
include
(
api_
router
.
urls
)),
url
(
r
'^ops/'
,
include
(
'ops.urls'
,
namespace
=
'ops'
)),
url
(
r
'^ops/'
,
include
(
'ops.urls'
,
namespace
=
'ops'
)),
]
]
...
...
apps/ops/models/sudo.py
浏览文件 @
8e0afb2c
...
@@ -3,7 +3,7 @@ from __future__ import unicode_literals, absolute_import
...
@@ -3,7 +3,7 @@ from __future__ import unicode_literals, absolute_import
from
jinja2
import
Template
from
jinja2
import
Template
from
django.db
import
models
from
django.db
import
models
from
assets.models
import
Asset
from
assets.models
import
Asset
,
AssetGroup
from
django.utils.translation
import
ugettext_lazy
as
_
from
django.utils.translation
import
ugettext_lazy
as
_
...
@@ -40,11 +40,13 @@ class RunasAlia(models.Model):
...
@@ -40,11 +40,13 @@ class RunasAlia(models.Model):
class
Privilege
(
models
.
Model
):
class
Privilege
(
models
.
Model
):
name
=
models
.
CharField
(
max_length
=
128
,
unique
=
True
,
verbose_name
=
_
(
'Name'
))
user
=
models
.
ForeignKey
(
UserAlia
,
blank
=
True
,
null
=
True
,
related_name
=
'privileges'
)
user
=
models
.
ForeignKey
(
UserAlia
,
blank
=
True
,
null
=
True
,
related_name
=
'privileges'
)
host
=
models
.
ForeignKey
(
HostAlia
,
blank
=
True
,
null
=
True
,
related_name
=
'privileges'
)
host
=
models
.
ForeignKey
(
HostAlia
,
blank
=
True
,
null
=
True
,
related_name
=
'privileges'
)
runas
=
models
.
ForeignKey
(
RunasAlia
,
blank
=
True
,
null
=
True
,
related_name
=
'privileges'
)
runas
=
models
.
ForeignKey
(
RunasAlia
,
blank
=
True
,
null
=
True
,
related_name
=
'privileges'
)
command
=
models
.
ForeignKey
(
CmdAlia
,
blank
=
True
,
null
=
True
,
related_name
=
'privileges'
)
command
=
models
.
ForeignKey
(
CmdAlia
,
blank
=
True
,
null
=
True
,
related_name
=
'privileges'
)
nopassword
=
models
.
BooleanField
(
default
=
True
,
verbose_name
=
_
(
'Is_NoPassword'
))
nopassword
=
models
.
BooleanField
(
default
=
True
,
verbose_name
=
_
(
'Is_NoPassword'
))
comment
=
models
.
TextField
(
blank
=
True
,
null
=
True
,
verbose_name
=
_
(
'Comment'
))
def
__unicode__
(
self
):
def
__unicode__
(
self
):
return
"[%s %s %s %s %s]"
%
(
self
.
user
.
name
,
return
"[%s %s %s %s %s]"
%
(
self
.
user
.
name
,
...
@@ -58,7 +60,8 @@ class Privilege(models.Model):
...
@@ -58,7 +60,8 @@ class Privilege(models.Model):
class
Extra_conf
(
models
.
Model
):
class
Extra_conf
(
models
.
Model
):
line
=
models
.
TextField
(
blank
=
True
,
null
=
True
,
verbose_name
=
_
(
'Extra_Item'
))
line
=
models
.
TextField
(
blank
=
True
,
null
=
True
,
verbose_name
=
_
(
'Extra_Item'
),
help_text
=
_
(
'The extra sudo config line.'
))
def
__unicode__
(
self
):
def
__unicode__
(
self
):
return
self
.
line
return
self
.
line
...
@@ -72,10 +75,20 @@ class Sudo(models.Model):
...
@@ -72,10 +75,20 @@ class Sudo(models.Model):
:param privileges: <list> [(user, host, runas, command, nopassword),]
:param privileges: <list> [(user, host, runas, command, nopassword),]
"""
"""
asset
=
models
.
ForeignKey
(
Asset
,
null
=
True
,
blank
=
True
,
related_name
=
'sudos'
)
assets
=
models
.
ManyToManyField
(
Asset
,
blank
=
True
,
related_name
=
'sudos'
)
asset_groups
=
models
.
ManyToManyField
(
AssetGroup
,
blank
=
True
,
related_name
=
'sudos'
)
extra_lines
=
models
.
ManyToManyField
(
Extra_conf
,
related_name
=
'sudos'
,
blank
=
True
)
extra_lines
=
models
.
ManyToManyField
(
Extra_conf
,
related_name
=
'sudos'
,
blank
=
True
)
privilege_items
=
models
.
ManyToManyField
(
Privilege
,
related_name
=
'sudos'
,
blank
=
True
)
privilege_items
=
models
.
ManyToManyField
(
Privilege
,
related_name
=
'sudos'
,
blank
=
True
)
@
property
def
all_assets
(
self
):
assets
=
list
(
self
.
assets
.
all
())
for
group
in
self
.
asset_groups
.
all
():
for
asset
in
group
.
assets
.
all
():
if
asset
not
in
assets
:
assets
.
append
(
asset
)
return
assets
@
property
@
property
def
users
(
self
):
def
users
(
self
):
return
{
privilege
.
user
.
name
:
privilege
.
user
.
user_items
.
split
(
','
)
for
privilege
in
self
.
privilege_items
.
all
()}
return
{
privilege
.
user
.
name
:
privilege
.
user
.
user_items
.
split
(
','
)
for
privilege
in
self
.
privilege_items
.
all
()}
...
...
apps/ops/views.py
浏览文件 @
8e0afb2c
...
@@ -53,6 +53,6 @@ class CronUpdateView(AdminUserRequiredMixin, UpdateView):
...
@@ -53,6 +53,6 @@ class CronUpdateView(AdminUserRequiredMixin, UpdateView):
class
CronDetailView
(
DetailView
):
class
CronDetailView
(
DetailView
):
model
=
CronTable
model
=
CronTable
context_object_name
=
'
sudo
'
context_object_name
=
'
cron
'
template_name
=
'cron/detail.html'
template_name
=
'cron/detail.html'
apps/templates/_nav.html
浏览文件 @
8e0afb2c
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
<li
id=
"ops"
>
<li
id=
"ops"
>
<a>
<a>
<i
class=
"fa fa-
inbox
"
></i>
<span
class=
"nav-label"
>
{% trans 'Job Center' %}
</span><span
class=
"fa arrow"
></span>
<i
class=
"fa fa-
coffee
"
></i>
<span
class=
"nav-label"
>
{% trans 'Job Center' %}
</span><span
class=
"fa arrow"
></span>
</a>
</a>
<ul
class=
"nav nav-second-level"
>
<ul
class=
"nav nav-second-level"
>
<li
id=
"sudo"
><a
href=
"{% url 'ops:page-sudo-list' %}"
>
{% trans 'Sudo' %}
</a></li>
<li
id=
"sudo"
><a
href=
"{% url 'ops:page-sudo-list' %}"
>
{% trans 'Sudo' %}
</a></li>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录