前往小程序,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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
量化投资之机器学习应用——基于 SVM 模型的商品期货择时交易策略(提出质疑和讨论)
2016年在东证期货的量化报告里,读到一篇文章,关于量化投资策略之机器学习应用——基于 SVM 模型的期货择时交易策略 。就顺手算了一下,发现了一些问题,因此和大家来讨论。 (文章比较长,因为有编辑部成员思考实践的部分,我们支持大胆提出质疑的精神!请在留言处发表你的看法和观点。) 机器学习简述 根据 Tom Michael Mitchell对机器学习的定义,假设有任务 T、执行结果衡量标准P 以及从中获取的经验值E,计算机程序在反复执行相关任务(T)后的成绩(P)会随着经验(E)的积累而不断提高和
量化投资与机器学习微信公众号
2018/01/29
4.3K0
量化投资之机器学习应用——基于 SVM 模型的商品期货择时交易策略(提出质疑和讨论)
Qlib来啦:模型训练篇
量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W+关注者,荣获2021年度AMMA优秀品牌力、优秀洞察力大奖,连续2年被腾讯云+社区评选为“年度最佳作者”。 源代码请点击阅读原文 在QIML公众号官方GitHub查看 QIML官方GitHub上线 https://github.com/QuantWorld2022 希望大家多Follow,多给星⭐️ 通过config实例化操
量化投资与机器学习微信公众号
2022/05/13
3.6K1
Qlib来啦:模型训练篇
为什么机器学习应用交易那么难(上)
公众号决定从2020年7月开始,每周一将推出一期有关全球对冲基金、量化投研、金融机器学习、机构招聘等方面的周刊。为大家带来最新、最前沿的投研、资讯内容,希望各位读者能够喜欢。
量化投资与机器学习微信公众号
2020/08/02
9710
【全网首发】机器学习该如何应用到量化投资系列(三)
有一些单纯搞计算机、数学或者物理的人会问,究竟怎么样应用 ML 在量化投资。他们能做些什么自己擅长的工作。虽然在很多平台或者自媒体有谈及有关的问题,但是不够全面和完整。从今日起,量化投资与机器学习公众号将推出一个系列【机器学习该如何应用到】。今日的推文,是编辑部人员对国内的所有券商金工团队做的机器学习的研究报告做了一个系统性的整理。希望大家有所收获。 获取本推文所有研报请看文章末端 系列文章(点击即可查看) 机器学习该如何应用到量化投资系列(一) 机器学习该如何应用到量化投资系列(二) 2010年08月1
量化投资与机器学习微信公众号
2018/01/29
2.5K0
为什么机器学习应用交易那么难(中)
此系列也引起大家得激烈讨论,大家也一直期待后续的文章。今天《为什么机器学习应用交易那么难(中)》要来啦!赶快阅读吧!
量化投资与机器学习微信公众号
2020/08/09
1.2K0
为什么机器学习应用交易那么难(中)
泰坦尼克号生存预测入门
交叉验证参数 shuffle = False,正确率就提高了,why ???求解答
Michael阿明
2020/07/13
5210
泰坦尼克号生存预测入门
使用TensorFlow实现股票价格预测深度学习模型
Sebastian Heinz. A simple deep learning model for stock price prediction using TensorFlow
ArrayZoneYour
2018/02/18
11.7K1
使用TensorFlow实现股票价格预测深度学习模型
系统总结!机器学习的模型!
大家好,我是花哥,前面的文章我们介绍了人工智能、机器学习、深度学习的区别与联系,指出了如今的人工智能技术基本上就是指机器学习。
算法进阶
2024/02/18
1.4K0
系统总结!机器学习的模型!
机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾
作者: 寒小阳 时间:2015年11月。 出处:http://blog.csdn.net/han_xiaoyang/article/details/49797143 声明:版权所有,转载请注明出处,谢谢。
全栈程序员站长
2022/09/27
5310
新手篇:机器学习测试的步骤和指南!
随着人工智能的蓬勃发展,机器学习已经成为当今科技领域的热门话题。作为人工智能的重要分支,机器学习通过训练模型来识别数据中的模式,从而实现预测和决策。而在机器学习项目的开发过程中,测试是不可或缺的一环。本文将为您介绍机器学习测试的相关工具、使用流程以及具体案例代码,帮助您从入门到实战,轻松掌握机器学习测试的核心知识。
测试开发技术
2024/07/31
2560
新手篇:机器学习测试的步骤和指南!
【机器学习】集成学习——提升模型准确度的秘密武器
集成学习(Ensemble Learning)是一种通过结合多个弱模型来提升整体预测准确性的技术。通过将多个模型的预测结果进行组合,集成学习在复杂任务中展现了极强的泛化能力。本文将探讨集成学习的主要方法,并通过代码示例演示如何应用这些方法来提升模型表现。
Qiuner
2024/10/04
3960
【机器学习】集成学习——提升模型准确度的秘密武器
用Python与Scikit-learn构建高效机器学习模型
文章链接:https://cloud.tencent.com/developer/article/2472162
一键难忘
2024/11/29
2930
[机器学习|理论&实践] 金融预测与机器学习:构建股票价格预测模型
金融市场的变动无常,投资者需要不断调整策略以适应新的市场条件。机器学习技术的兴起为金融预测提供了新的可能性,通过对历史数据的深入分析和模型的训练,我们能够更准确地预测未来的市场走势。在本文中,我们将深入探讨如何使用机器学习构建股票价格预测模型,为投资决策提供更可靠的参考。在这个项目中,我们将使用Python和一些流行的机器学习库,如Scikit-Learn和TensorFlow,来构建一个股票价格预测模型。
数字扫地僧
2023/12/19
2K0
【独家】周志华教授gcForest(多粒度级联森林)算法预测股指期货涨跌
公众号特约编辑 / 一心想错 / 独家 gcForest Algorithm 对于周志华教授的文章,网上已经有人做出很详细的解释啦。我们对论文进行简单描述之后,然后直接从策略开始讲起。 gcForest(multi-Grained Cascade forest 多粒度级联森林)是周志华教授最新提出的新的决策树集成方法。这种方法生成一个深度树集成方法(deep forest ensemble method),使用级联结构让gcForest学习。gcForest模型把训练分成两个阶段:Multi-Grain
量化投资与机器学习微信公众号
2018/01/29
2.2K0
【独家】周志华教授gcForest(多粒度级联森林)算法预测股指期货涨跌
机器学习入门基础知识汇总
机器学习(Machine Learning,简称 ML)是人工智能(AI)领域的重要组成部分,涉及使用算法从数据中提取模式并进行预测。随着数据量的快速增长和计算能力的提升,机器学习在各个领域都有着广泛的应用,如金融、医疗、自动驾驶等。在学习机器学习的过程中,掌握一些基础知识是非常重要的。本文将介绍机器学习的核心概念、常见算法以及如何在实际问题中应用这些知识。
一键难忘
2025/01/25
2920
【机器学习】从理论到实践:决策树算法在机器学习中的应用与实现
决策树由节点和边组成,其中每个节点表示数据集的某个特征,每条边表示特征的某个值所对应的分支。决策树的最顶端称为根节点,叶节点代表决策结果。以下是一个简单的决策树示例图:
哈__
2024/06/23
4120
【机器学习】从理论到实践:决策树算法在机器学习中的应用与实现
机器学习——打开集成方法的大门,手把手带你实现AdaBoost模型
我们目前为止已经学过了好几个模型,光决策树的生成算法就有三种。但是我们每次进行分类的时候,每次都是采用一个模型进行训练和预测。我们日常在做一个决策的时候,往往会咨询好几个人,综合采纳他们的意见。那么有没有可能把这个思路照搬到机器学习领域当中,创建多个模型来综合得出结果呢?
TechFlow-承志
2020/06/17
3750
【Python】机器学习之SVM支持向量机
(3)通过鸢尾花的花萼(sepal)和花瓣(petal)的长和宽,建立SVM分类器来判断样本属于山鸢尾(Iris Setosa)、变色鸢尾(Iris Versicolor)还是维吉尼亚鸢尾(Iris Virginica)。
SarPro
2024/02/20
2810
【Python】机器学习之SVM支持向量机
机器学习-03-机器学习算法流程
定义问题(Problem Definition) -> 数据收集(Data Collection) -> 数据分割(Dataset Spit up) -> 模型训练(Model Training) -> 模型评估(Model Evaluation) -> 应用部署(System Deployment) -> 改变世界(Impact the world)!
IT从业者张某某
2024/02/29
2700
机器学习-03-机器学习算法流程
Python机器学习-02:模型构建
随着人工智能时代的到来,机器学习已成为解决问题的关键工具,如识别预测疾病风险等。Python是实现机器学习的热门语言之一。接下来会详细介绍机器学习如何应用到实际问题,并概括通过Python进行实际操作。
Jamesjin63
2022/11/03
6280
Python机器学习-02:模型构建
推荐阅读
相关推荐
量化投资之机器学习应用——基于 SVM 模型的商品期货择时交易策略(提出质疑和讨论)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验