簡體   English   中英

問題:任何登錄的用戶都可以訪問Django管理面板

[英]Problem: Any logged-in user can access Django Admin panel

我的帳戶具有is_superuser = 1 ,其他用戶具有is_superuser = 0is_staff = 0 但是Django並不限制對“編外人員”用戶的訪問。 因此,任何登錄的用戶都可以訪問管理面板。

從Django文檔中:

默認情況下,登錄到admin要求用戶將is_superuser或is_staff屬性設置為True。

但這是行不通的。 我的管理員設置沒有任何更改。 自定義管理面板網址除外:

from django.contrib import admin


urlpatterns = [
    path('my-admin/', admin.site.urls),
]

那么,不遵循Django限制會出現什么問題呢?

的Django == 2.2.4

數據庫:MySQL

問題是因為在MySQL數據庫中, field_typeis_superuserText 我將字段類型更改為TINYINT(1) (布爾類型),現在Django不允許所有用戶訪問Admin(超級用戶除外)。

因此,在Django項目中從SQLite切換到MySQL時要非常小心! 您將遇到很多類似這樣的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM