From 84bce19a9288254c2616dba965c2dec1817f1d70 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 25 Nov 2021 16:00:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?perf:=20=E5=8E=BB=E6=8E=89=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E9=9D=A2=E6=9B=B4=E5=A5=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/authentication/middleware.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/authentication/middleware.py b/apps/authentication/middleware.py index 46aa46ded..9481c3ff6 100644 --- a/apps/authentication/middleware.py +++ b/apps/authentication/middleware.py @@ -21,8 +21,8 @@ class MFAMiddleware: # 这个是 mfa 登录页需要的请求, 也得放出来, 用户其实已经在 CAS/OIDC 中完成登录了 white_urls = [ - 'login/mfa', 'mfa/select', 'jsi18n/', '/static/', '/profile/otp', - '/logout/', '/login/' + 'login/mfa', 'mfa/select', 'jsi18n/', '/static/', + '/profile/otp', '/logout/', ] for url in white_urls: if request.path.find(url) > -1: From 85a017b2c4a9c67a46a8f67839a9561833dbae7f Mon Sep 17 00:00:00 2001 From: xinwen Date: Thu, 25 Nov 2021 15:39:24 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E6=8C=89=E8=B5=84=E4=BA=A7ip?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/filters.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/perms/filters.py b/apps/perms/filters.py index c3a5a4b16..da82b5090 100644 --- a/apps/perms/filters.py +++ b/apps/perms/filters.py @@ -170,13 +170,13 @@ class AssetPermissionFilter(PermissionBaseFilter): return queryset if not assets: return queryset.none() - asset = assets.first() + assetids = list(assets.values_list('id', flat=True)) if not is_query_all: - queryset = queryset.filter(assets=asset) + queryset = queryset.filter(assets__in=assetids) return queryset inherit_all_nodekeys = set() - inherit_nodekeys = asset.nodes.values_list('key', flat=True) + inherit_nodekeys = set(assets.values_list('nodes__key', flat=True)) for key in inherit_nodekeys: ancestor_keys = Node.get_node_ancestor_keys(key, with_self=True) @@ -185,8 +185,8 @@ class AssetPermissionFilter(PermissionBaseFilter): inherit_all_nodeids = Node.objects.filter(key__in=inherit_all_nodekeys).values_list('id', flat=True) inherit_all_nodeids = list(inherit_all_nodeids) - qs1 = queryset.filter(assets=asset).distinct() - qs2 = queryset.filter(nodes__id__in=inherit_all_nodeids).distinct() + qs1 = queryset.filter(assets__in=assetids).distinct() + qs2 = queryset.filter(nodes__in=inherit_all_nodeids).distinct() qs = UnionQuerySet(qs1, qs2) return qs