django添加ldap

 1.前言

本文旨在介绍:在已完成django认证权限的基础上添加ldap。

2.回顾已完成的权限

网上有很多教程,这里不再细讲了。它包括两部分:

中间件实现

用到了django的2个表

  • django.contrib.auth.models 对应表:auth_user
  • django.contrib.sessions.models 对应表:django_session

3. 添加第三方认证ldap

写在开始之前:当enable ldap,如果用ldap账号首次登录会在auth_user创建一条记录

3.1 安装依赖包

1. python-ldap(windows环境请用whl按照)
2. django-auth-ldap

//如果出现python-ldap fatal error: lber.h: No such file or directory

sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
sudo yum install python-devel openldap-devel

3.2 校验

在开始之前,先用python校验下拿到的ldap配置参数是否正常

import ldap
conn = ldap.initialize("ldap:port")

res = conn.simple_bind_s('cn=test,dc=com,dc=cn', "test")
print(res)

searchScope = ldap.SCOPE_SUBTREE
searchFilter = 'cn=test1'
base_dn = 'ou=Test,dc=com,dc=cn'
print(conn.search_s(base_dn, searchScope, searchFilter, None))

3.3 配置到django setting

import ldap
from django_auth_ldap.config import LDAPSearch

# 找公司IT提供ldap配置
AUTH_LDAP_SERVER_URI = ""

AUTH_LDAP_BIND_DN = "cn=test,dc=com,dc=cn"
AUTH_LDAP_BIND_PASSWORD = "test"

# 根据上面的改动 AUTH_LDAP_USER_SEARCH
= LDAPSearch( 'ou=Test,dc=com,dc=cn', ldap.SCOPE_SUBTREE, '(uid=%(user)s)', )
# 请注意这部分 AUTH_LDAP_USER_ATTR_MAP
= { 'username': 'cn', // 请对应login的username 'password': 'sn', // 请对应login的password } AUTHENTICATION_BACKENDS = ( 'django_auth_ldap.backend.LDAPBackend', 'django.contrib.auth.backends.ModelBackend', ) 

3.4  修改django login

(很奇怪,发现很多教程都没写这块东东)

user = authenticate(username=username, password=password)
if user:
    if user.is_active:
        if "ldap_username" in dir(user):  //如果是自身的权限,请关注不同点
            ***            

 

转载于:https://www.cnblogs.com/flypig258/p/11309359.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django中,要实现添加好友的功能,可以按照以下步骤进行: 1. 创建用户模型:首先需要创建一个用户模型,可以使用Django提供的内置User模型,或者自定义一个用户模型。用户模型需要包含基本的用户信息,如用户名、密码等,并可以添加额外的字段,例如好友列表。 2. 创建好友模型:为了存储用户之间的好友关系,可以创建一个好友模型。好友模型可以通过两个外键与用户模型关联,表示好友之间的关系。 3. 创建视图函数:为添加好友功能创建一个视图函数。该函数需要处理接收到的请求,验证用户输入的好友信息,然后通过好友模型将好友关系保存到数据库中。 4. 创建模板:创建一个模板,用于用户输入好友信息的界面。在该模板中,可以使用表单元素收集用户输入的好友信息,并将其发送给视图函数进行处理。 5. 创建URL映射:将视图函数和URL映射绑定,使得当用户发送添加好友的请求时,能够正确地调用相应的视图函数。 6. 前端展示:可以通过前端页面展示用户的好友列表。可以在用户个人资料页面或者其他适当的位置展示好友列表,并提供添加好友的入口。 7. 添加好友功能完成:至此,添加好友功能已经实现。用户可以通过输入好友的信息,点击添加好友按钮,将好友信息保存到数据库中,并在页面上展示好友列表。 以上是实现Django添加好友功能的基本步骤,具体实现的方式会根据项目的具体需求而有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值