繁体   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