mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
Don't surface forbidden reasoning
This commit is contained in:
@@ -52,7 +52,17 @@ export class AuthorizationService {
|
||||
const uniqueCollectionsRequestedCount = uniq(collectionsRequested.map(({ collection }) => collection)).length;
|
||||
|
||||
if (uniqueCollectionsRequestedCount !== permissionsForCollections.length) {
|
||||
throw new ForbiddenException();
|
||||
// Find the first collection that doesn't have permissions configured
|
||||
const { collection, field } = collectionsRequested.find(
|
||||
({ collection }) =>
|
||||
permissionsForCollections.find((permission) => permission.collection === collection) === undefined
|
||||
)!;
|
||||
|
||||
if (field) {
|
||||
throw new ForbiddenException(`You don't have permission to access the "${field}" field.`);
|
||||
} else {
|
||||
throw new ForbiddenException(`You don't have permission to access the "${collection}" collection.`);
|
||||
}
|
||||
}
|
||||
|
||||
validateFields(ast);
|
||||
|
||||
Reference in New Issue
Block a user