限制Django管理员只允许超级用户

Bry*_*yce 2 django django-admin

我目前正在构建一个使用LDAP身份验证后端的Django应用程序.因此,所有经过身份验证的ldap用户也可以登录管理界面.有没有办法可以将管理界面锁定到超级用户?

Chr*_*att 5

情况应该不是这样.仅仅因为有用户帐户并不意味着它可以用于登录管理员.

为了访问管理员,User.is_staff == True它不是默认的.只需在您希望能够登录管理员的实际用户上设置标记,就可以了.

如果由于某种原因LDAP用户已添加is_staff设置为True,您可以简单地执行:

User.objects.update(is_staff=False)
Run Code Online (Sandbox Code Playgroud)

然后,仅针对您要授予以下权限的用户:

u=User.objects.get(username='admin_user')
u.is_staff = True
u.save()
Run Code Online (Sandbox Code Playgroud)