- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试通过 ldap 登录到管理站点。用户在 ldap 中找到。我的问题是每次我尝试登录时,都会收到此错误。
search_s('ou=utilisateurs,ou=employee,dc=bi,dc=invik,dc=lu', 2, '(SAMAccountName=%(user)s)')returned 1 objects: cn=julien boelen,ou=utilisateurs,ou=employee,dc=bi,dc=invik,dc=lu
search_s('ou=utilisateurs,ou=employee,dc=bi,dc=invik,dc=lu', 2, '(SAMAccountName=%(user)s)')returned 1 objects: cn=julien boelen,ou=utilisateurs,ou=employee,dc=bi,dc=invik,dc=lu
Populating Django user julienb
Populating Django user julienb
Django user julienb does not have a profile to populate
Django user julienb does not have a profile to populate
显然我无法登录到管理站点。我不知道如何告诉 django “不要使用配置文件!!让我登录”
这是我的settings.py
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
AUTH_LDAP_SERVER_URI = "ldap://192.168.1.5/"
AUTH_LDAP_CONNECTION_OPTIONS = {
ldap.OPT_DEBUG_LEVEL: 0,
ldap.OPT_REFERRALS: 0,
}
AUTH_LDAP_BIND_DN = "browser"
AUTH_LDAP_BIND_PASSWORD = "Django15iscool"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=utilisateurs,ou=employee,dc=bi,dc=invik,dc=lu",
ldap.SCOPE_SUBTREE, '(SAMAccountName=%(user)s)')
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "givenName",
"last_name": "sn",
"email": "mail"
}
我不明白为什么我不能登录,为什么他要一个配置文件,我不使用配置文件,有什么可以指定的来通知 django 不关心配置文件,让我登录 :)
最佳答案
我知道配置文件日志看起来很可怕,但它实际上是一个转移注意力的东西*。您真正的问题是您试图使用没有员工或 super 用户权限的帐户登录管理页面。根据您当前的设置,有两种方法可以处理该问题:
1) 如果你想让你的帐户的 super 用户权限从你的 LDAP 模型继承,你将需要为 is_superuser
属性设置用户标志映射,效果为
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_superuser": "cn=superuser,ou=groups,dc=example,dc=com"
}
2) 如果这不起作用,您将需要使用已经拥有 super 用户权限的现有帐户登录。当您执行第一个 python manage.py syncdb
时,系统应该会提示您创建一个 super 用户帐户。只要您仍在使用 django.contrib.auth.backends.ModelBackend
进行身份验证,您就应该能够继续使用该 super 用户帐户访问您的管理页面。如果做不到这一点,您始终可以进入 shell 并将您的帐户提升为 super 用户或创建一个新的 super 用户帐户。
*需要澄清的是,身份验证后端正在尝试填充您的 User
对象和关联的 UserProfile
对象(如果存在)。这是错误日志不够具体的情况……该错误消息并不表示存在问题,而是表示您尚未实现的功能。 (如果您想了解有关 1.4 中此功能的更多信息,请访问 https://docs.djangoproject.com/en/1.4/topics/auth/#storing-additional-information-about-users...在 1.5 中是 deprecated)
关于python - Django 用户 julienb 没有要填充的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15730743/
我正在尝试通过 ldap 登录到管理站点。用户在 ldap 中找到。我的问题是每次我尝试登录时,都会收到此错误。 search_s('ou=utilisateurs,ou=employee,dc=bi
我是一名优秀的程序员,十分优秀!