mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 00:09:14 +00:00
授权管理
This commit is contained in:
114
jasset/models.py
114
jasset/models.py
@@ -14,48 +14,48 @@ class AssetGroup(models.Model):
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
def get_asset(self):
|
||||
return self.asset_set.all()
|
||||
|
||||
def get_asset_info(self, printable=False):
|
||||
assets = self.get_asset()
|
||||
ip_comment = {}
|
||||
for asset in assets:
|
||||
ip_comment[asset.ip] = asset.comment
|
||||
|
||||
for ip in sorted(ip_comment):
|
||||
if ip_comment[ip]:
|
||||
print '%-15s -- %s' % (ip, ip_comment[ip])
|
||||
else:
|
||||
print '%-15s' % ip
|
||||
print ''
|
||||
|
||||
def get_asset_num(self):
|
||||
return len(self.get_asset())
|
||||
|
||||
def get_user_group(self):
|
||||
perm_list = self.perm_set.all()
|
||||
user_group_list = []
|
||||
for perm in perm_list:
|
||||
user_group_list.append(perm.user_group)
|
||||
return user_group_list
|
||||
|
||||
def get_user(self):
|
||||
user_list = []
|
||||
user_group_list = self.get_user_group()
|
||||
for user_group in user_group_list:
|
||||
user_list.extend(user_group.user_set.all())
|
||||
return user_list
|
||||
|
||||
def is_permed(self, user=None, user_group=None):
|
||||
if user:
|
||||
if user in self.get_user():
|
||||
return True
|
||||
|
||||
if user_group:
|
||||
if user_group in self.get_user_group():
|
||||
return True
|
||||
return False
|
||||
# def get_asset(self):
|
||||
# return self.asset_set.all()
|
||||
#
|
||||
# def get_asset_info(self, printable=False):
|
||||
# assets = self.get_asset()
|
||||
# ip_comment = {}
|
||||
# for asset in assets:
|
||||
# ip_comment[asset.ip] = asset.comment
|
||||
#
|
||||
# for ip in sorted(ip_comment):
|
||||
# if ip_comment[ip]:
|
||||
# print '%-15s -- %s' % (ip, ip_comment[ip])
|
||||
# else:
|
||||
# print '%-15s' % ip
|
||||
# print ''
|
||||
#
|
||||
# def get_asset_num(self):
|
||||
# return len(self.get_asset())
|
||||
#
|
||||
# def get_user_group(self):
|
||||
# perm_list = self.perm_set.all()
|
||||
# user_group_list = []
|
||||
# for perm in perm_list:
|
||||
# user_group_list.append(perm.user_group)
|
||||
# return user_group_list
|
||||
#
|
||||
# def get_user(self):
|
||||
# user_list = []
|
||||
# user_group_list = self.get_user_group()
|
||||
# for user_group in user_group_list:
|
||||
# user_list.extend(user_group.user_set.all())
|
||||
# return user_list
|
||||
#
|
||||
# def is_permed(self, user=None, user_group=None):
|
||||
# if user:
|
||||
# if user in self.get_user():
|
||||
# return True
|
||||
#
|
||||
# if user_group:
|
||||
# if user_group in self.get_user_group():
|
||||
# return True
|
||||
# return False
|
||||
|
||||
|
||||
class Asset(models.Model):
|
||||
@@ -72,21 +72,21 @@ class Asset(models.Model):
|
||||
def __unicode__(self):
|
||||
return self.ip
|
||||
|
||||
def get_user(self):
|
||||
perm_list = []
|
||||
asset_group_all = self.bis_group.all()
|
||||
for asset_group in asset_group_all:
|
||||
perm_list.extend(asset_group.perm_set.all())
|
||||
|
||||
user_group_list = []
|
||||
for perm in perm_list:
|
||||
user_group_list.append(perm.user_group)
|
||||
|
||||
user_permed_list = []
|
||||
for user_group in user_group_list:
|
||||
user_permed_list.extend(user_group.user_set.all())
|
||||
user_permed_list = list(set(user_permed_list))
|
||||
return user_permed_list
|
||||
# def get_user(self):
|
||||
# perm_list = []
|
||||
# asset_group_all = self.bis_group.all()
|
||||
# for asset_group in asset_group_all:
|
||||
# perm_list.extend(asset_group.perm_set.all())
|
||||
#
|
||||
# user_group_list = []
|
||||
# for perm in perm_list:
|
||||
# user_group_list.append(perm.user_group)
|
||||
#
|
||||
# user_permed_list = []
|
||||
# for user_group in user_group_list:
|
||||
# user_permed_list.extend(user_group.user_set.all())
|
||||
# user_permed_list = list(set(user_permed_list))
|
||||
# return user_permed_list
|
||||
|
||||
|
||||
class AssetAlias(models.Model):
|
||||
|
@@ -278,15 +278,15 @@ def asset_edit(request):
|
||||
|
||||
if request.method == 'POST':
|
||||
ip = request.POST.get('ip')
|
||||
port = request.POST.get('port')
|
||||
groups = request.POST.getlist('groups')
|
||||
use_default_auth = True if request.POST.getlist('use_default_auth', []) else False
|
||||
use_default = True if request.POST.getlist('use_default', []) else False
|
||||
is_active = True if request.POST.get('is_active') else False
|
||||
comment = request.POST.get('comment')
|
||||
|
||||
if not use_default_auth:
|
||||
if not use_default:
|
||||
username = request.POST.get('username')
|
||||
password = request.POST.get('password')
|
||||
port = request.POST.get('port')
|
||||
if password == asset.password:
|
||||
password_encode = password
|
||||
else:
|
||||
@@ -294,6 +294,7 @@ def asset_edit(request):
|
||||
else:
|
||||
username = None
|
||||
password_encode = None
|
||||
port = 22
|
||||
|
||||
try:
|
||||
asset_test = get_object(Asset, ip=ip)
|
||||
@@ -303,7 +304,7 @@ def asset_edit(request):
|
||||
except ServerError:
|
||||
pass
|
||||
else:
|
||||
db_asset_update(id=asset_id, ip=ip, port=port, use_default_auth=use_default_auth,
|
||||
db_asset_update(id=asset_id, ip=ip, port=port, use_default=use_default,
|
||||
username=username, password=password_encode,
|
||||
is_active=is_active, comment=comment)
|
||||
msg = u'主机 %s 修改成功' % ip
|
||||
|
Reference in New Issue
Block a user