diff --git a/apps/oss/serializers/file.py b/apps/oss/serializers/file.py index 938472c2e67..723cd814873 100644 --- a/apps/oss/serializers/file.py +++ b/apps/oss/serializers/file.py @@ -88,6 +88,12 @@ def auth(file, mk_file_auth): # PublicFileAccess 中记录的文件允许公开访问 if QuerySet(PublicFileAccess).filter(source_type='FILE', source_id=str(file.id)).exists(): return + if file.source_type == FileSourceType.APPLICATION: + application = QuerySet(Application).filter(id=file.source_id).first() + if application is None: + _deny() + if file.meta.get('chat_id') is None: + return # 非公共文件,直接拒绝 if mk_file_auth is None: _deny() @@ -188,9 +194,6 @@ def _auth_system(file, user_id): application = QuerySet(Application).filter(id=file.source_id).first() if application is None: _deny() - # 如果是应用的高级设置的文件 - if file.meta.get('chat_id') is None: - return _check_workspace_resource_permission( user_auth, user_id, workspace_id=application.workspace_id,