נפתרה: משתמש הצוות אינו מגביל את ההרשאה ב-django

הבעיה העיקרית באי הגבלת הרשאה היא שזה יכול להוביל לכך שמשתמשים יוכלו לעשות דברים שהם לא אמורים להיות מסוגלים לעשות. לדוגמה, אם למשתמש יש הרשאה לערוך פוסט, ייתכן שגם הוא יוכל למחוק אותו.

I have a problem with Django. I am using Django 1.8 and Python 3.4. I have created a superuser and staff user in my project, but the staff user is not restricting permission in django admin panel. 
I want to restrict the staff user from accessing some of the models in django admin panel, but it is not working for me, please help me out with this issue.


A:

You should add <code>is_staff = True</code> to your User model: https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django-contrib-admin-models-logentry
<blockquote>
<p>The LogEntry model has two required fields:</p>
<ul>
<li><strong><code>&lt;code&gt;user&lt;/code&gt;</code></strong>: The User that performed the action.</li>
<li><strong><code>&lt;code&gt;action_time&lt;/code&gt;</code></strong>: The timestamp of the action.</li>
</ul>
<p>[...]</p>
<p>[...] If you want to log actions performed by non-staff users, you’ll need to set <a href="https://docs.djangoproject.com/en/1.8/_modules/django/contrib/auth/#User" rel="nofollow noreferrer"><strong><em><a href="https://docs.djangoproject.com/en/1.8/_modules/" rel="nofollow noreferrer">User.<strong></strong>.is_staff</a></em></strong></a>] to True.</p>
</blockquote>

הרשאות בג'נגו

הרשאות ב-Django הן דרך לשלוט מי יכול לעשות מה עם האפליקציה שלך. הם מוגדרים בקובץ permissions.py וניתן להגדיר אותם לפי משתמש או אפליקציה.

ניתן להגדיר הרשאות ברמת הרשאה, שהיא קריאה או כתיבה. ניתן גם להגדיר רמת הרשאה כך שתאפשר לכל המשתמשים, רק משתמשים בתפקיד מסוים, או רק משתמשים עם הרשאות מסוימות.

אתה יכול גם להשתמש במשתנה הסביבה DJANGO_SETTINGS_MODULE כדי להגדיר הרשאות עבור כל הבקשות שנשלחו על ידי האפליקציה שלך.

הודעות קשורות:

השאירו תגובה