From 834089f2662bdcae655766bd0f16b289bd4dba5d Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 27 Apr 2022 15:37:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9get=5Fpermission=5Flist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/system/permission.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/hb_server/apps/system/permission.py b/hb_server/apps/system/permission.py index 397d906..ef60799 100644 --- a/hb_server/apps/system/permission.py +++ b/hb_server/apps/system/permission.py @@ -8,17 +8,21 @@ def get_permission_list(user): """ 获取权限列表,可用redis存取 """ - perms_list = ['visitor'] + perms_list = [] if user.is_superuser: perms_list = ['admin'] else: - perms = Permission.objects.none() + perms = Permission.objects.filter() roles = user.roles.all() if roles: for i in roles: perms = perms | i.perms.all() - perms_list = perms.values_list('method', flat=True) - perms_list = list(set(perms_list)) + perms_list_l = perms.values_list('method', flat=True) + for i in perms_list_l: + if i and i not in perms_list: + perms_list.append(i) + if len(perms_list) == 0: + perms_list = ['visitor'] cache.set(user.username + '__perms', perms_list, 60*60) return perms_list