پرش به محتویات

قانون‌های ایمنی

پنل ادمین همه چیز را مدیریت می‌کند، پس کسی که می‌تواند دسترسی را مدیریت کند نباید بتواند همه چیز را به خودش بدهد. همه‌ی صفحه‌ها، مثل کد، از طریق AccessService می‌نویسند، و همه‌ی صفحه‌ها همین چیزها را رد می‌کنند - با پیامی که می‌گوید کدام قانون.

رد می‌شود چرا
تغییر دسترسی خودتان - بسته‌ها، مجوزها، آنچه از شما گرفته شده، نقش‌هایتان، بسته‌ای که دارید، یا بسته‌ای که از راه نقشتان دارید کس دیگری که دسترسی را مدیریت می‌کند آن را انجام می‌دهد، یا ابرکاربر
دادن مجوزی که ندارید - در یک بسته، با دادن یک بسته، یا تک به تک وگرنه هر کسی از راه یک همکار هر چیزی را به خودش می‌داد
دادن آن با دامنه‌ای وسیع‌تر از دامنه‌ای که دارید، مگر اینکه آن را با all داشته باشید همان، ردیف به ردیف
تغییری که بعد از آن هیچ کس جز ابرکاربر نتواند دسترسی را مدیریت کند سیستم بی‌کسی می‌ماند که آن را اداره کند
تغییر ردیف‌های دامنه‌ی قانونی‌ای که مجوزهای خودتان در آن است، یا بدون همه‌ی مجوزهایی که در آن داده شده دسترسی خودتان، یا یک همکار، را وسیع‌تر می‌کند
برداشتن محافظت از فیلدی که هر دو مجوزش را ندارید فیلدی را به شما می‌دهد که هیچ‌وقت به شما داده نشده
آزاد کردن مقدار یک اکشن وضعیت، یا حذف آن، بدون داشتن آن روی همه‌ی ردیف‌ها؛ اجازه دادن به اکشنی که از مقدارهای بیشتری بنویسد به هر کسی که آن را دارد بیشتر می‌دهد
برداشتن سقف یک نقش، بدون role_ceiling_edit به همه‌ی دارندگان نقش بیشتر می‌دهد
تغییر آنچه فایل ACCESS صاحب آن است - ابرکاربر هم با sync بعدی برمی‌گشت
تغییر یا حذف حسابی که بیشتر از شما دارد گذاشتن رمز عبور یا ایمیل آن یعنی ورود با آن حساب

رد شدن چه شکلی است

صفحه دوباره نشان داده می‌شود، چیزی ذخیره نمی‌شود، و پیام قانون را نام می‌برد:

You cannot give a permission you do not hold: shop.order_view_price.
Nobody changes their own access.
After this nobody but the superuser could manage access. Give somebody else permission_edit first.

در پنل فارسی، همین پیام‌ها به فارسی نشان داده می‌شوند.

ابرکاربر

ابرکاربر همه‌ی مجوزها را دارد، پس هیچ قانونی درباره‌ی داشتن جلویش را نمی‌گیرد. دو قانون هنوز می‌گیرد: هیچ کس دسترسی خودش را تغییر نمی‌دهد - ابرکاربر هم نه - و آنچه فایل ACCESS صاحب آن است در خود فایل تغییر داده می‌شود. بقیه، هر چقدر هم که مدیریت کنند، تابع همه‌ی قانون‌های بالا هستند. هر تغییر، بعد از commit، یک signal می‌فرستد، برای پروژه‌ای که سابقه‌ی اینکه چه کسی چه چیزی را تغییر داده نگه می‌دارد.