假設我有一個基本實體,ShopsEntity它有一堆字段和一個秘密屬性:@ObjectType()class ShopsEntity { @Field() name: string; @Field() rating: string; @Field() secret: string;}我不希望秘密屬性被序列化,除非用戶具有通過Nest Access Control定義的特定角色(該模塊只允許將 RoleGuard 放置在解析器本身上,這意味著每個角色我需要不同的路由)。因此,根據對具有不同身份驗證級別的同一端點的請求,管理員將獲得:{ "name": "name", "rating": "rating", "secret": "secret"}常規查詢用戶將獲得:{ "name": "name", "rating": "rating"}有沒有一種聲明式的方式可以在這里進行財產級安全,或者最好的解決方案是為每個安全級別設置單獨的 DTO?
用于排除不同用戶角色的字段的 NestJS 策略?
一只甜甜圈
2021-12-23 15:37:47