[TimLinux] python-ldap 介绍
2024-10-06 23:32:09
1. 接口
ldap: LDAP库接口
ldap.asyncsearch: 大量搜索结果数据采用流处理
ldap.controls: LDAPv3上层访问扩展控制
ldap.dn: LDAP distinguished 名称处理
ldap.extop: LDAPv3上层访问扩展操作
ldap.filter: LDAP过滤器处理
ldap.modlist: 生成修改列表
ldap.resiter: 大量搜索结果数据采用流处理生成器
ldap.schema: LDAPv3 schema处理
ldap.syncrepl: syncrepl消费者实现
ldap.sasl: SASL认证方法
ldif: LDIF 解析器和生成器
ldapurl: LDAP URL 处理
sldaptest: OpenLDAP的sldap服务器的批量测试实例
2. django-auth-ldap配置
settings.py文件中的配置:
import ldap
from django_auth_ldap.config import LDAPSearch AUTHENTICATION_BACKENDS = [ 'django_auth_ldap.backend.LDAPBackend', 'django.contrib.auth.backends.ModelBackend' ] AUTH_LDAP_SERVER_URI = 'ldap://<ip>:389'
AUTH_LDAP_BIND_DN = "cn=<ldapuser>,OU=...,OU=...,DC=company,DC=com"
AUTH_LDAP_BIND_PASSWORD = "<ldappassword>"
AUTH_LDAP_USER_SEARCH = LDAPSearch(
'OU=xxx,OU=XXX,DC=company,DC=com',
ldap.SCOPE_SUBTREE,
'(&(objectclass=Person)(sAMAccountName=%(user)s))'
) AUTH_LDAP_USER_ATTR_MAP = {
'email': 'mailNickname',
'first_name': 'department',
'last_name': 'cn'
}
3. 视图
视图中的代码非常的简单,主要就是调用 authenticate 和 login 方法,代码示例如下:
from django.contrib.auth import authenticate, login, logout def login_view(request):
username = request.POST.get('username')
password = request.POST.get('password') user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
else:
print("login fail") def logout_view(request):
logout(request)
4. 模板
在模板HTML中,则可以通过使用 request.user.is_authenticated 来判断用户是否登录,而通过 request.user.* 来获取存放在里面的用户相关信息。
最新文章
- Mac OS X上搭建伪分布式CDH版本Hadoop开发环境
- C# 使用线程池,设置每个线程的执行时间,过了时间强制结束
- shell和bat 监控进程,自动关机
- C语言位运算详解
- 《ASP.NET1200例》ListView 控件与DataPager控件的结合<;二>;
- (转).net Application.DoEvents()的作用
- 封装js千分位加逗号和删除逗号
- android获取/更改gps和WIFI状态
- Linux环境下的Nodejs
- JSON 日期格式问题 /Date(1325696521000)/
- wireshark filter manualpage
- 异常-----freemarker.core.NonStringException
- 使用SecureCRT的SFTP在WINDOWS与LINUX之间传输文件(转载)
- 用友u8采购发票如何取消审核
- Java之数据流-复制二进制文件
- 自动化构建工具--gulp的初识和使用
- Windows C++ 非递归式(stack)深度优先遍历目录
- HDU 5464 Clarke and problem 动态规划
- jquery 实现动画效果(各种方法)
- HTML颜色代码
热门文章
- [LINQ2Dapper]最完整Dapper To Linq框架(三)---实体类关系映射
- 说一说,“NetWork Wall”所用到技术
- 创建OData Service(基于ASP.NET 4.6.1, EF 6),Part I:Project initialize
- MyBatis:统计数量(查询所有)
- C++中对C的扩展学习新增语法——namespace
- nodejs入门之模块
- 领扣(LeetCode)合并两个有序数组 个人题解
- python:正则1
- selenium针对浏览器滚动条的操作
- Flex带Checkbox的Tree