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.* 来获取存放在里面的用户相关信息。

最新文章

  1. Mac OS X上搭建伪分布式CDH版本Hadoop开发环境
  2. C# 使用线程池,设置每个线程的执行时间,过了时间强制结束
  3. shell和bat 监控进程,自动关机
  4. C语言位运算详解
  5. 《ASP.NET1200例》ListView 控件与DataPager控件的结合&lt;二&gt;
  6. (转).net Application.DoEvents()的作用
  7. 封装js千分位加逗号和删除逗号
  8. android获取/更改gps和WIFI状态
  9. Linux环境下的Nodejs
  10. JSON 日期格式问题 /Date(1325696521000)/
  11. wireshark filter manualpage
  12. 异常-----freemarker.core.NonStringException
  13. 使用SecureCRT的SFTP在WINDOWS与LINUX之间传输文件(转载)
  14. 用友u8采购发票如何取消审核
  15. Java之数据流-复制二进制文件
  16. 自动化构建工具--gulp的初识和使用
  17. Windows C++ 非递归式(stack)深度优先遍历目录
  18. HDU 5464 Clarke and problem 动态规划
  19. jquery 实现动画效果(各种方法)
  20. HTML颜色代码

热门文章

  1. [LINQ2Dapper]最完整Dapper To Linq框架(三)---实体类关系映射
  2. 说一说,“NetWork Wall”所用到技术
  3. 创建OData Service(基于ASP.NET 4.6.1, EF 6),Part I:Project initialize
  4. MyBatis:统计数量(查询所有)
  5. C++中对C的扩展学习新增语法——namespace
  6. nodejs入门之模块
  7. 领扣(LeetCode)合并两个有序数组 个人题解
  8. python:正则1
  9. selenium针对浏览器滚动条的操作
  10. Flex带Checkbox的Tree