Allow org owners to inspect any member's data scope via dual JWT; server blocks mutations and team page stays reachable for return. Co-authored-by: Cursor <cursoragent@cursor.com>
2.1 KiB
2.1 KiB
مشاهده بهجای کاربر (فقطخواندنی برای مالک)
تاریخ: ۲۰۲۶-۱۰-۱۷
وضعیت: پیادهسازیشده.
هدف
مالک محیط بتواند از جدول کاربران صفحهٔ تیم، با هویت هر عضو همان محیط وارد شود و همان دید داده/منو/نقش او را ببیند، بدون امکان ایجاد، ویرایش یا حذف.
قواعد
- فقط نقش
ownerمیتواند وارد حالت مشاهده شود. - هدف: هر عضو همان
organizationId(فهرست کاربران تیم). - توکن دو هویت دارد:
userId= کاربر مشاهدهشده،impersonatorUserId= مالک واقعی،viewAsReadOnly: true. - دید داده و نقش ظاهری مثل کاربر مشاهدهشده است.
- هر متد تغییردهنده (POST/PATCH/PUT/DELETE بهجز استثناها) با پیام فارسی رد میشود:
«در حالت مشاهده بهجای کاربر دیگر امکان تغییر وجود ندارد.» - ظاهر UI مثل حالت عادی میماند؛ فقط سرور خطا میدهد.
- برگشت: کلیک روی ردیف خود مالک در جدول کاربران تیم.
- در حالت مشاهده، دسترسی به صفحهٔ تیم برای مالک واقعی باز میماند.
- خروج از سیستم مشاهده را تمام میکند؛ ورود بعدی فقط حساب مالک است.
استثناهای مجاز در حالت مشاهده
POST/PATCHمربوط به شروع/پایان مشاهده (impersonate / stop)POSTخروج (logoutاگر باشد)- خواندنها: GET
- در صورت نیاز: سوئیچ لنز بایگانی اطلاعات قبل (خواندنی برای دیدن همان دید کاربر)
خارج از محدوده
- مشاهده برای غیرمالک
- نوار بنر بازگشت (عمداً حذف شد؛ برگشت از جدول تیم)
- مخفی کردن دکمههای ویرایش در UI