// 该笔记仍在调研中!!不确保中有错误信息!最终目的是想用java实现这三种认证方式。

1、ldaps://  注意多了个s


参考:https://mail.python.org/pipermail/python-ldap/2002q1/000584.html
Dirksen Lau wrote:
>> When I try the bind operation against our department LDAP server,
> I got this
> error: ldap.STRONG_AUTH_REQUIRED: {'desc': 'Strong authentication
> required',
> 'info': 'This LDAP server does not accept cleartext passwords'}

This means you have to authenticate by presenting a client certificate which
is done during establishing the SSL connection. > How to do the strong authentication?

1. Make yourself familiar with concepts of SSL and client certificates.
2. Ask your LDAP server admin whether you have to use LDAP over SSL to
separate port or using StartTLS extended operation.
3. Look at Demo/initialize.py to get a idea of how to connect with
python-ldap using either one of the methods.
4. Have a client certificate and matching private key at
hand as "PEM files". You have to get a client certificate which validates
against a trusted root CA cert at the LDAP server. Ask your admin.
5. Use
ldap.set_option(ldap.OPT_X_TLS_CERTFILE,client_cert_file)
ldap.set_option(ldap.OPT_X_TLS_KEYFILE,client_key_file)
to point the python-ldap and OpenLDAP libs to the files to use for strong
authentication during opening the SSL connection. Ciao, Michael. On Sat, Mar 30, 2002 at 12:10:09PM +0800, Dirksen Lau wrote:
> How to do the strong authentication? There are two ways:
1. SSL/TLS
==========
Use thing like this (instead of your ldap_open or ldap_initialize):
l=ldap_initialize("ldaps://....");
This will work if your server listens on ldaps port. If your server listens on ldap port only,
but supports TLS, you use it:
l=ldap_initialize("ldap://....")
l.protocol_version=ldap.VERSION3
l.set_option(ldap.OPT_X_TLS,ldap.OPT_X_TLS_DEMAND)
l.start_tls_s()
2. SASL
========
This is not yet supported by python-ldap, but is being worked on.
SASL is a way of doing strong authentication even without encrypting the whole sessions.
Greets, Jacek

参考:https://stackoverflow.com/questions/5991591/php-ldap-stronger-authentication-required
  • SECURITY_AUTHENTICATION: specifies the authentication mechanism to use, which is one of the following strings:
    • none”: use no authentication (anonymous).
    • simple”: use weak authentication (password in clear text).
    • sasl_mech: use strong authentication with SASL (Simple Authentication and Security Layer).
参考:http://www.codejava.net/coding/connecting-to-ldap-server-using-jndi-in-java

Authentication Mechanisms验证机制

参考:http://docs.oracle.com/javase/jndi/tutorial/ldap/security/auth.html

Different versions of the LDAP support different types of authentication. The LDAP v2 defines three types of authentication: anonymous匿名, simple (clear-text password明文密码), and Kerberos v4.

The LDAP v3 supports anonymous, simple, and SASL authentication.

How to enable LDAP signing in Windows Server 2008

参考:https://support.microsoft.com/en-us/help/935834/how-to-enable-ldap-signing-in-windows-server-2008

GSS-API/Kerberos v5 Authentication

参考:https://docs.oracle.com/javase/jndi/tutorial/ldap/security/gssapi.html

End-to-end steps for configuring Active Directory Kerberos authentication

参考:https://docs.bmc.com/docs/display/public/sso90/End-to-end+steps+for+configuring+Active+Directory+Kerberos+authentication#End-to-endstepsforconfiguringActiveDirectoryKerberosauthentication-ConfiguringKerberosauthenticationwithActiveDirectory

Enable support for Kerberos authentication

参考:https://technet.microsoft.com/en-us/library/dd759186(v=ws.11).aspx

Java安全之认证与授权

参考:http://blog.csdn.net/xiaolangfanhua/article/details/52835920

配置 Kerberos 身份验证 (SharePoint Foundation 2010)

参考:https://msdn.microsoft.com/zh-cn/subscriptions/ff607695

Windows Server 2012:设置您的第一个域控制器(一步一步)

参考:https://social.technet.microsoft.com/wiki/contents/articles/12370.windows-server-2012-set-up-your-first-domain-controller-step-by-step.aspx

												

LDAP none、simple、strong 笔记的更多相关文章

  1. Java使用LdAP获取AD域用户

    随着我们的习大大上台后,国家在网络信息安全方面就有了非常明显的改变!所以如今好多做网络信息安全产品的公司和须要网络信息安全的公司都会提到用AD域server来验证,这里就简单的研究了一下! 先简单的讲 ...

  2. JAVA使用Ldap操作AD域

    项目上遇到的需要在集成 操作域用户的信息的功能,第一次接触ad域,因为不了解而且网上其他介绍不明确,比较费时,这里记录下. 说明: (1). 特别注意:Java操作查询域用户信息获取到的数据和域管理员 ...

  3. AD域和LDAP协议

    随着我们的习大大上台后,国家在网络信息安全方面就有了很明显的改变!所以现在好多做网络信息安全产品的公司和需要网络信息安全的公司都会提到用AD域服务器来验证,这里就简单的研究了一下! 先简单的讲讲AD域 ...

  4. JAVA中使用LDAP登录的三种方式

    搜索中关于java 登录ldap,大部分会采用  cn=xxx,ou=xxx,dc=xxx的方式,此处的cn是用户的Display Name,而不是account,而且如果ou有多层,比如我们的OU就 ...

  5. Ldap 从入门到放弃(一)

    OpenLDAP 2.4版本 快速入门 本文内容是自己通过官网文档.网络和相关书籍学习和理解并整理成文档,其中有错误或者疑问请在文章下方留言. 一.Introduction to OpenLDAP D ...

  6. centos Sonarqube ldap(AD域) 配置

    1. 测试ad 连接 命令: ldapsearch -h 192.168.1.4 -D LXWJadmin@wjj.local -w 用户密码 -b "OU=蓝翔技校,OU=挖掘机事业群,O ...

  7. Realm Configuration HOW-TO--官方

    来源:https://secure.gettinglegaldone.com/docs/realm-howto.html Quick Start This document describes how ...

  8. 使用java连接AD域,验证账号password是否正确

    web项目中有时候客户要求我们使用ad域进行身份确认,不再另外做一套用户管理系统.事实上客户就是仅仅要一套账号能够訪问全部的OA.CRM等办公系统. 这就是第三方验证.一般有AD域,Ldap,Radi ...

  9. java修改AD域用户密码使用SSL连接方式

    正常情况下,JAVA修改AD域用户属性,只能修改一些普通属性, 如果要修改AD域用户密码和userAccountControl属性就得使用SSL连接的方式修改, SSL连接的方式需要操作以下步骤: 1 ...

随机推荐

  1. elk 使用中遇到的问题(kafka 重复消费)

    问题描述: 在使用过程中,当遇到大量报错的时候,我们到eagle后台看到报错的那个consumer的消费情况到到lag 远远大于0(正常情况应该为0),activie  节点没有,kibana面板上没 ...

  2. WPF 程序在 Windows XP 下报错:The image format is unrecognized.

    最近做的一个 WPF 程序,在 Windows 7 或以上版本的系统中,测试都很正常,在 Windows XP 下运行时一开始就报了个错误: {     "ClassName" : ...

  3. 使用JS生成二维码QRCode

    这其实很简单,项目中使用插件即可生成,主要有两种方式: 一种是在项目中使用java生成,把图片生成到某个目录,然后在用tomcat或者nginx虚拟一下路径即可访问,这种方式我们不用,因为会在目录中生 ...

  4. win10+VS2015+boost_1.60.0

    安装boost库的初衷boost库是一个C++'准'标准库,对于一个C++程序员来说,了解强大的boost库是很有必要的.当然,在学习使用这样一个强大的库之前,首先要学会安装.本文讲述了boost_1 ...

  5. Django入门(二)

    这一节主要介绍django中的model,template模板. model是django自带的orm框架,下面我们来搭建一个博客网站,来看看是如何使用的. 1.新建应用blog python man ...

  6. 将不同级别的logging 日志信息写入不同文件

    将不同级别的logging 日志信息写入不同文件 # -*- coding: utf-8 -*- import os import time from logging.handlers import ...

  7. Result映射成对象和List

    package com.com.dbhelper; import java.lang.reflect.Field; import java.lang.reflect.Method; import ja ...

  8. python调用.net动态库

    # python调用.net动态库 ### pythonnet简介------------------------------ pythonnet是cpython的扩展- pythonnet提供了cp ...

  9. css按钮固定

  10. JAVA-JSP内置对象之out对象求得缓冲区使用大小

    相关资料:<21天学通Java Web开发> out对象 out对象求得缓冲区使用大小1.通过out对象的getBufferSize()方法可以获得缓冲区的大小.2.通过getRemain ...