mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 08:19:04 +00:00
修改sudo授权
This commit is contained in:
101
jperm/views.py
101
jperm/views.py
@@ -4,8 +4,9 @@ from django.shortcuts import render_to_response
|
||||
from django.http import HttpResponseRedirect, HttpResponse
|
||||
from juser.models import User, UserGroup
|
||||
from jasset.models import Asset, BisGroup
|
||||
from jperm.models import Perm, SudoPerm
|
||||
from jperm.models import Perm, SudoPerm, CmdGroup
|
||||
from django.core.paginator import Paginator, EmptyPage, InvalidPage
|
||||
from django.db.models import Q
|
||||
|
||||
|
||||
def perm_group_update(user_group_name='', user_group_id='', asset_groups_name='', asset_groups_id=''):
|
||||
@@ -137,12 +138,99 @@ def perm_asset_detail(request):
|
||||
return render_to_response('jperm/perm_asset_detail.html', locals())
|
||||
|
||||
|
||||
|
||||
def user_asset_cmd_groups_get(user_groups_select, asset_groups_select, cmd_groups_select):
|
||||
user_groups_select_list = []
|
||||
asset_groups_select_list = []
|
||||
cmd_groups_select_list = []
|
||||
|
||||
for user_group_id in user_groups_select:
|
||||
user_groups_select_list.append(UserGroup.objects.get(id=user_group_id))
|
||||
|
||||
for asset_group_id in asset_groups_select:
|
||||
asset_groups_select_list.append(BisGroup.objects.get(id=asset_group_id))
|
||||
|
||||
for cmd_group_id in cmd_groups_select:
|
||||
cmd_groups_select_list.append(CmdGroup.objects.get(id=cmd_group_id))
|
||||
|
||||
return user_groups_select_list, asset_groups_select_list, cmd_groups_select_list
|
||||
|
||||
|
||||
def sudo_db_add(user_groups_select, asset_groups_select, cmd_groups_select, comment):
|
||||
user_groups_select_list, asset_groups_select_list, cmd_groups_select_list = \
|
||||
user_asset_cmd_groups_get(user_groups_select, asset_groups_select, cmd_groups_select)
|
||||
|
||||
sudo_perm = SudoPerm(comment=comment)
|
||||
sudo_perm.save()
|
||||
sudo_perm.user_group = user_groups_select_list
|
||||
sudo_perm.asset_group = asset_groups_select_list
|
||||
sudo_perm.cmd_group = cmd_groups_select_list
|
||||
|
||||
|
||||
def sudo_ldap_add(user_groups_select, asset_groups_select, cmd_groups_select):
|
||||
user_groups_select_list, asset_groups_select_list, cmd_groups_select_list = \
|
||||
user_asset_cmd_groups_get(user_groups_select, asset_groups_select, cmd_groups_select)
|
||||
|
||||
|
||||
def sudo_add(request):
|
||||
header_title, path1, path2 = u'Sudo授权 | Perm Sudo Add.', u'jperm', u'sudo_add'
|
||||
user_groups = UserGroup.objects.filter(Q(type='A') | Q(type='P')).order_by('type')
|
||||
asset_groups = BisGroup.objects.all().order_by('type')
|
||||
cmd_groups = CmdGroup.objects.all()
|
||||
|
||||
if request.method == 'POST':
|
||||
user_groups_select = request.POST.getlist('user_groups_select')
|
||||
asset_groups_select = request.POST.getlist('asset_groups_select')
|
||||
cmd_groups_select = request.POST.getlist('cmd_groups_select')
|
||||
comment = request.POST.get('comment', '')
|
||||
|
||||
sudo_db_add(user_groups_select, asset_groups_select, cmd_groups_select, comment)
|
||||
|
||||
|
||||
msg = '添加成功'
|
||||
|
||||
return render_to_response('jperm/sudo_add.html', locals())
|
||||
|
||||
|
||||
def sudo_list(request):
|
||||
header_title, path1, path2 = u'Sudo授权 | Perm Sudo Detail.', u'jperm', u'sudo_list'
|
||||
sudo_perms = contact_list = SudoPerm.objects.all()
|
||||
users = contact_list2 = User.objects.all().order_by('id')
|
||||
p = paginator = Paginator(contact_list, 10)
|
||||
sudo_perms = contact_list2 = SudoPerm.objects.all()
|
||||
p2 = paginator2 = Paginator(contact_list2, 10)
|
||||
user_groups = UserGroup.objects.filter(Q(type='A') | Q(type='P'))
|
||||
asset_groups = BisGroup.objects.all()
|
||||
cmd_groups = CmdGroup.objects.all()
|
||||
try:
|
||||
page = int(request.GET.get('page', '1'))
|
||||
except ValueError:
|
||||
page = 1
|
||||
|
||||
try:
|
||||
contacts2 = paginator2.page(page)
|
||||
except (EmptyPage, InvalidPage):
|
||||
contacts2 = paginator2.page(paginator2.num_pages)
|
||||
return render_to_response('jperm/sudo_list.html', locals())
|
||||
|
||||
|
||||
def cmd_add(request):
|
||||
header_title, path1, path2 = u'sudo命令添加 | Sudo Cmd Add.', u'jperm', u'sudo_cmd_add'
|
||||
|
||||
if request.method == 'POST':
|
||||
name = request.POST.get('name')
|
||||
cmd = ','.join(request.POST.get('cmd').split())
|
||||
comment = request.POST.get('comment')
|
||||
|
||||
CmdGroup.objects.create(name=name, cmd=cmd, comment=comment)
|
||||
msg = u'命令组添加成功'
|
||||
|
||||
return render_to_response('jperm/sudo_cmd_add.html', locals())
|
||||
|
||||
|
||||
def cmd_list(request):
|
||||
header_title, path1, path2 = u'sudo命令查看 | Sudo Cmd List.', u'jperm', u'sudo_cmd_list'
|
||||
|
||||
cmd_groups = contact_list = CmdGroup.objects.all()
|
||||
p = paginator = Paginator(contact_list, 10)
|
||||
|
||||
try:
|
||||
page = int(request.GET.get('page', '1'))
|
||||
except ValueError:
|
||||
@@ -150,10 +238,7 @@ def sudo_list(request):
|
||||
|
||||
try:
|
||||
contacts = paginator.page(page)
|
||||
contacts2 = paginator2.page(page)
|
||||
except (EmptyPage, InvalidPage):
|
||||
contacts = paginator.page(paginator.num_pages)
|
||||
contacts2 = paginator2.page(paginator2.num_pages)
|
||||
return render_to_response('jperm/sudo_list.html', locals())
|
||||
|
||||
return render_to_response('jperm/sudo_cmd_list.html', locals())
|
||||
|
||||
|
Reference in New Issue
Block a user