我正在编写一个使用django和Ldap后端的web应用程序来验证用户身份。身份验证已经完成,属性映射也通过django-auth-ldap完成(谢谢...)。但在web界面中,用户需要更新一些信息,如描述,电话等。
所以我需要检索dn属性来更新当前用户,而不是另一个用户。我尝试将可分辨名称与属性进行映射,但不起作用...有什么想法吗?
请找到下面的当前代码。
settings.py:
AUTH_LDAP_USER_ATTR_MAP = {
"dn" : "ldap_user.dn",
"name": "cn",
"description": "description",
"employeeType": "employeeType",
... }但没有结果...
我也试着在我的观点中写道:
def update_description(request):
if request.method == "POST":
form = DescriptionUpdateForm(request.POST)
if form.is_valid():
description = form.cleaned_data['description']
user = request.user
old_description = user.description
user.description = description
user.save()
try:
l = ldap.initialize(settings.AUTH_LDAP_SERVER_URI)
l.simple_bind_s(settings.AUTH_LDAP_BIND_DN, settings.AUTH_LDAP_BIND_PASSWORD)
user_ldap_dn = LDAPBackend().django_to_ldap_username(user.email).dn
l.unbind_s()
except ldap.LDAPError, e:
print e
return HttpResponseRedirect('/user/profile')
else:
form = DescriptionUpdateForm()
return render(request, 'edit_description.html', {'form': form,})但没有结果,我无法检索此用户的dn条目...
提前谢谢你,洛伊克。
发布于 2013-08-13 00:14:36
对于与搜索参数匹配的每个条目,LDAP搜索操作始终返回可分辨名称(或主键)。可分辨名称不是属性。
https://stackoverflow.com/questions/18190573
复制相似问题