前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Django项目如何接入公司LDAP帐号认证

Django项目如何接入公司LDAP帐号认证

作者头像
测试开发技术
发布于 2020-01-17 09:01:03
发布于 2020-01-17 09:01:03
3.3K00
代码可运行
举报
文章被收录于专栏:测试开发技术测试开发技术
运行总次数:0
代码可运行

点击上方“公众号”可以订阅哦!

一、前言

Django项目开发过程中,为了保证安全性,通常都会接入用户帐号认证权限功能,而标题中LDAP是什么呢?当然这个不是本文介绍的重点,简单来说,LDAP是一种目录管理协议,通常公司用于存储员工的计算机登录帐号密码信息用的,而如果Django项目接入LDAP后,相当于登录Django站点时,可以不用再额外为使用该站点的用户去重新注册添加用户,使用者可以直接用各自的计算机登录帐号、密码登录即可。 如果想接入LDAP,前提是你们公司有LDAP服务器,当然我相信一般公司都会有,好了,闲话不说了,直接进入主题。

二、环境准备

1、安装python-ldap、django-auth-ldap

模块版本及下载地址,博主亲测有效! python-ldap 2.4.12 https://pypi.python.org/pypi/python-ldap/2.4.12 django-auth-ldap 1.1.4 https://pypi.python.org/pypi/django-auth-ldap/1.1.4

或直接在线安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install python-ldap -i https://pypi.douban.com/simple
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install  install django-auth-ldap -i http://pypi.douban.com/simple

三、 配置

1、setting.py配置

安装完成后,打开django项目中settings.py文件,增加ldap配置如下:

##ldap认证接入

AUTH_LDAP_SERVER_URI = 'ldap://ip:port' #ldap服务地址、端口

# AUTH_LDAP_BIND_DN = 'uid=username,ou=xx1,dc=xx2,dc=com'

# AUTH_LDAP_BIND_PASSWORD = "

AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=xx1,dc=xx2,dc=com", ldap.SCOPE_SUBTREE, "(uid=%(user)s)")

AUTH_LDAP_ALWAYS_UPDATE_USER = True

AUTH_LDAP_USER_ATTR_MAP = {

"first_name": "givenName",

"last_name": "sn",

"email": "mail"

}

AUTH_USER_MODEL = 'UserManage.Account'

AUTHENTICATION_BACKENDS = (

'django_auth_ldap.backend.LDAPBackend', # ldap认证

'UserManage.auth.UsernamePasswordAuth', ## 本地自定义model的认证方式

)

注意事项:

1、实际接入ldap中,最关键的几个参数,ldap服务器地址、端口号、ou、dc等几个值,可从公司运维部获取得知。 2、实际接入ldap中,AUTH_LDAP_BIND_DN、 AUTH_LDAP_BIND_PASSWORD 可不用配置。 3、上述配置中,博主将ou、dc替换成xx1、xx2,实际使用更改成对应值即中。

四、简要流程

登录时,在默认的django数据库帐号验证之前,会先到LDAP服务器上去验证。 输入的登录帐号到LDAP服务器验证之前,会先用配置文件中的绑定DN、密码去验证,验证通过才能继续用输入的帐号密码去LDAP服务器验证。 若LDAP验证通过,会检查django数据库中是否已存在该帐号,若不存在,则会根据LDAP验证通过后获取的用户信息,来创建django数据库的用户账号。帐号名和输入的一样,密码则会设为一个无效的密码(看了下源码是”!”,无法合法哈希编码),因为该帐号密码验证是从LDAP上进行,所以django中的密码不会被使用到。除了默认的用户姓名、邮件等信息,若要把Group信息也同步过来的话需要进行相应的配置。 若LDAP验证失败,则会使用Django数据库的默认登录验证。

欢迎关注订阅

每日一篇!

公众号:mikezhou_talk

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
艺术品NFT系统的开发流程
艺术品NFT系统的开发是一个涵盖艺术创作、区块链技术、智能合约和市场运营的复杂过程。以下是一个详细的开发流程。
数字孪生开发者
2025/06/03
1200
艺术品NFT系统的开发流程
区块链NFT系统的上线流程
区块链NFT系统的上线流程是一个系统性的工程,涵盖了从概念规划到发布运营的多个阶段。以下是一个详细的上线流程,其中包含了关键的步骤和注意事项。
数字孪生开发者
2025/06/10
800
区块链NFT系统的上线流程
数字藏品(NFT)项目的上线流程
数字藏品(NFT)项目的上线流程是一个涉及多个环节的复杂过程,需要精心策划和执行。以下是一个详细的步骤指南,涵盖了从准备阶段到上线后的维护。
数字孪生开发者
2025/03/28
1340
数字藏品(NFT)项目的上线流程
音乐 NFT 项目的上线流程
音乐 NFT 项目的上线流程与一般的 NFT 项目有相似之处,但也存在一些音乐行业特有的考量。以下是一个详细的步骤指南。
数字孪生开发者
2025/04/02
1300
音乐 NFT 项目的上线流程
数字藏品(NFT)系统的上线运营
数字藏品(NFT)系统的上线运营是一个复杂的过程,涉及技术开发、市场策略、法律合规和社区建设等多个方面。
数字孪生开发者
2025/06/10
1660
数字藏品(NFT)系统的上线运营
艺术品NFT的开发框架
艺术品NFT的开发框架通常指的是构建整个NFT系统所需的技术栈和工具集合。它包括了从最底层的数据存储到用户交互界面的各个层面。以下是一个典型的艺术品NFT开发框架的组成部分。
数字孪生开发者
2025/06/03
850
艺术品NFT的开发框架
数字藏品NFT的开发框架
数字藏品NFT(非同质化代币)的开发框架涉及区块链技术、智能合约、存储解决方案、用户交互等多个方面。以下是一个完整的数字藏品NFT开发框架,涵盖从技术选型到部署上线的关键步骤。
数字孪生开发者
2025/01/26
2490
数字藏品NFT的开发框架
音乐NFT项目的技术架构
一个音乐 NFT 项目的技术架构通常包含多个关键组件,这些组件协同工作以实现音乐 NFT 的创建、交易、管理和可能的播放等功能。以下是一个典型的技术架构概览。
数字孪生开发者
2025/04/08
1320
音乐NFT项目的技术架构
什么是生成艺术NFT,Art Blocks为什么能持续霸榜
9月2日 Opensae 最近交易数据显示,Art Blocks 截至目前的总交易额已突破 233849 Eth 约 8.6 亿美元 ,创下历史新高,交易者数量突破2万。8月27日,Art Blocks 铸造的艺术品 Ringer #879以 568.5 万美元(1.8K ETH)价格成交,是历史上交易额第三高的 NFT 收藏品。
xiangzhihong
2021/12/30
9730
什么是生成艺术NFT,Art Blocks为什么能持续霸榜
数字藏品与数字艺术品的区别
数字藏品可以理解为中国特色,是使用区块链技术进行唯一标识的经数字化的特定作品、艺术品和商品,比如数字画作、图片、音乐、视频、3D模型等。每个数字藏品都映射着特定区块链上的唯一序列,不可篡改、不可分割,也不能互相替代。
v-longbatuiguang2
2022/06/01
1.8K0
数字藏品与数字艺术品的区别
NFT简介
NFT的全称是non-fungible token,中文通常翻译为“非同质化代币”,通常会被当作“数字资产“。
一行舟
2022/08/25
7280
NFT简介
音乐NFT项目的技术开发
音乐 NFT 项目的技术开发是一个涉及多个环节的复杂过程,需要结合区块链技术、数字内容管理、用户界面设计等多个领域的知识。以下是音乐 NFT 项目的技术开发流程和关键步骤。
数字孪生开发者
2025/04/09
1350
音乐NFT项目的技术开发
NFT如何在Discord上进行营销
您是 NFT 创造者或企业,正在寻找有效的方式来营销您的 NFT?看看 Discord!随着在 NFT 收藏家、创作者和爱好者中越来越受欢迎,Discord 已成为成功进行 NFT 营销的必备工具。
飞机号dapp119
2023/03/21
1.3K0
NFT如何在Discord上进行营销
音乐NFT软件系统的上线流程
音乐NFT软件系统的上线流程涉及多个阶段,从需求分析到最终部署和推广,每个阶段都至关重要。以下是详细的上线流程。
数字孪生开发者
2025/03/14
470
音乐NFT软件系统的上线流程
音乐NFT智能合约开发
音乐NFT的智能合约开发是音乐NFT项目的核心技术环节,它决定了NFT的铸造、交易、版权管理等功能是否能够安全、高效地运行。以下是音乐NFT智能合约开发的详细流程和关键要点。
数字孪生开发
2025/03/07
1050
音乐NFT智能合约开发
NFT考古行动:一文盘点史前NFT 项目
如果说 2020 年的夏天属于 DeFi,那么今年夏天,NFT 一定是当仁不让的主角。从腾讯、阿里等传统互联网巨头入局,再到路易威登、巴宝莉、保时捷等顶级品牌进行了联动,NFT 正在实现加密行业的又一次「破圈」。从虚拟土地的热炒,到 GameFi 游戏的爆红,再到头像 NFT 的风靡,NFT 的市场规模以惊人的速度扩张,且丝毫没有平息的迹象。
用户7358413
2021/09/02
1.2K0
NFT市场开发:基于Web3的未来之旅!
在本文中,我们将讨论开发 NFT 市场所涉及的步骤,以及它如何帮助为更加基于 Web3 的未来铺平道路
飞机号dapp119
2023/03/29
3240
NFT市场开发:基于Web3的未来之旅!
100 多家 Web3 公司重构互联网的未来
投资者正在向热门的 Web3 技术投入资金。但是 Web3 是如何运作的,谁在构建?从去中心化金融到靠玩游戏赚钱的游戏,我们分析了当今的 Web3 及其对消费者和创作者的意义。
点滴科技资讯
2023/03/01
1.5K0
100 多家 Web3 公司重构互联网的未来
数字藏品系统与文旅相结合
背景:某文旅企业为了提升自身品牌影响力和用户粘性,决定开发一套基于自建联盟链的数字藏品系统,将其旗下的各类文化和旅游资源进行数字化转化,打造独特的文旅数字藏品,并通过区块链技术保证其唯一性、稀缺性和可信性,同时提供线上线下的交互体验,吸引更多年轻人参与。
飞机号dapp119
2023/03/10
4010
数字藏品系统与文旅相结合
Web3.0 行业全景及代表项目研究
‍ 导语| 什么是Web 3.0 ?Web 3.0 现在发展的怎么样了?未来会怎么样?NFT 和 X to Earn 火爆的内在逻辑是什么?能持续吗?公有链 Web 3.0创新对于腾讯云区块链和长安链联盟链生态具有哪些借鉴意义? 本文试图来回答这些问题。并且,也尽量客观的从影响力和模式的代表性的维度,梳理了60多个当前公有链生态中具有web3.0概念的代表项目。 本文作者:hannazhzhou,腾讯云区块链产业研究负责人 前言:公有链及Web3.0生态的崛起 近一两年引起广泛热议的 Web 3.0,来自于
腾讯大讲堂
2022/06/01
5.2K0
Web3.0 行业全景及代表项目研究
相关推荐
艺术品NFT系统的开发流程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验