Selesai: pengguna kakitangan tidak menyekat kebenaran dalam django

Masalah utama dengan tidak menyekat kebenaran ialah ia boleh menyebabkan pengguna dapat melakukan perkara yang tidak sepatutnya mereka lakukan. Contohnya, jika pengguna mempunyai kebenaran untuk mengedit siaran, mereka mungkin boleh memadamkannya juga.

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>

Kebenaran dalam Django

Kebenaran dalam Django ialah cara untuk mengawal orang yang boleh melakukan perkara dengan apl anda. Ia ditakrifkan dalam fail permissions.py dan boleh ditetapkan berdasarkan setiap pengguna atau setiap apl.

Kebenaran boleh ditetapkan pada tahap kebenaran, sama ada membaca atau menulis. Tahap kebenaran juga boleh ditetapkan untuk membenarkan semua pengguna, hanya pengguna dalam peranan tertentu, atau hanya pengguna dengan kebenaran tertentu.

Anda juga boleh menggunakan pembolehubah persekitaran DJANGO_SETTINGS_MODULE untuk menetapkan kebenaran untuk semua permintaan yang dibuat oleh apl anda.

Related posts:

Tinggalkan komen