【问题标题】:Different authentication backend for the django admindjango 管理员的不同身份验证后端
【发布时间】:2010-01-21 10:58:20
【问题描述】:

为 Django 管理站点使用不同的身份验证后端的最佳解决方案是什么?

【问题讨论】:

    标签: django django-admin backend


    【解决方案1】:

    请参阅the documentation,其中包含此引用:

    Django 管理系统很严密 耦合到 Django User 对象 在本文开头描述的 文档。目前最好的办法 处理这个是创建一个Django User 存在的每个用户的对象 对于您的后端(例如,在您的 LDAP 目录,您的外部 SQL 数据库, 等)您可以编写脚本 提前做这件事,或者你的 验证方法可以做到 用户首次登录时。

    【讨论】:

    • 但是如果一个“标准”用户(来自 django.contrib.auth.models.User 的用户)有一个 'is_staff' 标志会发生什么。他应该能够登录到管理界面吗?我想要的是避免特权升级攻击。我想从 django User 表中删除 'is_staff' 和 'is_superuser' 字段,但是,根据我的阅读,似乎另一个身份验证后端(如使用 LDAP 的后端)将“为每个用户创建一个 Django User 对象为您的后端而存在”。我仍然不知道如何避免这种情况,让前端用户 very 远离管理站点。
    • @S.c. - “标准”用户是否拥有is_staff 与他们是否可以访问除 Django 管理站点以外的任何内容无关。使用权限 (docs.djangoproject.com/en/dev/topics/auth/#id1) 来确定谁可以访问什么。唯一的例外是带有is_superuserUser 对象,它们通过了所有权限检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 2011-01-11
    • 2019-07-16
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    相关资源
    最近更新 更多