GVKun编程网logo

python3 ldap 认证(python3 ldap3)

8

如果您想了解python3ldap认证和python3ldap3的知识,那么本篇文章将是您的不二之选。我们将深入剖析python3ldap认证的各个方面,并为您解答python3ldap3的疑在这篇文

如果您想了解python3 ldap 认证python3 ldap3的知识,那么本篇文章将是您的不二之选。我们将深入剖析python3 ldap 认证的各个方面,并为您解答python3 ldap3的疑在这篇文章中,我们将为您介绍python3 ldap 认证的相关知识,同时也会详细的解释python3 ldap3的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

python3 ldap 认证(python3 ldap3)

python3 ldap 认证(python3 ldap3)

python3 ldap 认证

#! /usr/bin/python
# -*- coding:utf-8 -*-
# Author: panb

import logging
from ldap3 import Server, Connection, ALL

logger = logging.getLogger("oauth")

LDAP = {
    "server": "172.27.27.220",
    "port": 389,
    "use_ssl": False,
    "domain": "jcici.com",
    "base": "ou=People,dc=jcici,dc=com"
}


class LdapAdmin(object):
    def __init__(self):
        """
        init
        """
        self.host = LDAP[''server'']
        self.port = LDAP.get(''port'', 389)
        self.use_ssl = LDAP.get(''use_ssl'', False)
        self.domain = LDAP[''domain'']
        self.base = LDAP[''base'']
        self.search_filter = "uid={uid}"

    def login(self, username, password):
        """
        登录
        :return:
        """
        server = Server(host=self.host,
                        port=self.port,
                        use_ssl=self.use_ssl,
                        connect_timeout=15,
                        get_info=ALL)

        try:
            conn = Connection(server,
                              user=f"uid={username},{self.base}",
                              password=password,
                              check_names=True,
                              lazy=False,
                              auto_bind=True,
                              receive_timeout=30
                              )

        except Exception as e:
            err_msg = f''LDAP 认证失败:{e}''
            logger.error(err_msg)
            return False
        else:
            msg = conn.result
            print(msg)
            conn.unbind()
            return True

        # print(server.info)
        # print(server.schema)
        # _username = (conn.extend.standard.who_am_i())
        # print(_username)


ldap_ins = LdapAdmin()
resp = ldap_ins.login("panbiao", "123456")
print(resp)

 

0基础学python3心得体会 - python3学习笔记 - python3基础

0基础学python3心得体会 - python3学习笔记 - python3基础

 

基础预热

print()会依次打印每个字符串,遇到逗号“,”会输出一个空格,可以打印整数,或者计算 结果

 Python提供了一个input(),,可以让用户输入字符串,并存放到一个变量里。

 #开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。

其他每一行都是一个语句,当语句以冒号“:”结尾时,缩进的语句视为代码块。

请务必注意,Python程序是大小写敏感的

数据类型   

python的数据类型有整数、浮点数、字符串、布尔值、空值、字典、列表、变量和常量等多种数据类型,还允许创建自定义数据类型;;  

  python的字符串中也有转义\,字符\本身也要转义,所以\\表示的字符就是\;    

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''''表示''''内部的字符串默认不转义, 如果你决定写的行数太多,不想每行都用/n,可以使用''''''...''''''的形式来写 如下:

          print(''''''line1

          line2

          line3'''''')

输出结果和末尾加/n是一样的:

  line1

  line2

  line3

布尔值可以用and、or和not运算。 and运算是与运算,只有所有都为True,and运算结果才是True; or运算是或运算,只要其中有一个为True,or运算结果就是True not运算是非运算,它是一个单目运算符,把True变成False,False变成True 布尔值经常用在判断中:    

变量

在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量 变量名必须是大小写英文、数字和_的组合,且不能用数字开头

常量 在Python中,通常用全部大写的变量名表示常量

Python的整数没有大小限制

Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符

由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行: #!/usr/bin/env python3 # -*- coding: utf-8 -*-

 

列表(list)

1,list是一种有序的集合,可以随时添加和删除其中的元素

2,获取list最后一个元素有两种方法         len(list名)-1      /         list名[-1]

3,往list中追加元素到末尾:list名.append(''追加内容'')

4,把元素插入到指定的位置:list名.insert(''插入内容'')

5,要删除list末尾的元素:list名.pop()

6,要删除list指定的元素:list名.pop(下标)

7,要把某个元素替换成别的元素,可以直接赋值给对应的索引位置         如:list名[1] = ''22222''

8,list里面的元素的数据类型也可以不同          如:list[''ssss'',1232,true]

9,list也可以作为另一个list的元素:       如:list1[123,''sss'']           list2[ddd,list1]    如果想拿到123,可以list[0],也可以list2[1][0]

10,如果一个list中一个元素也没有,就是一个空的list,它长度为0

tuple

是一个有序列表,但是和list的区别是一但初始化,就不可以更改,  tuple1 = (1,2,3) 不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple;

 

条件判断

if <条件判断1>:

    <执行1>

elif <条件判断2>:

    <执行2>

elif <条件判断3>:

    <执行3>

else:     <执行4>

------------

if判断条件还可以简写

if x:

    print(''True'')

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

int():字符串转数字

循环

python的循环有两种:    for...in和while

 

Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。

while循环,只要条件满足,就不断循环,条件不满足时退出循环。break:提前结束循环;continue:跳出此次循环;

字典(dict)

d ={“key”:mogu ,“key1”:mogu2 }

1,把数据放入dict的方法,除了初始化时指定外,还可以通过key放入    d[''key''] = 67

2,要删除一个key,用pop(key)方法,对应的value也会从dict中删除

3,dict内部存放的顺序和key放入的顺序是没有关系的

4,和list比较,dict有以下几个特点:

         1.查找和插入的速度极快,不会随着key的增加而变慢

         2.需要占用大量的内存,内存浪费多。

set  

  s = set([1, 2, 3])

1,set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key

2,重复元素在set中自动被过滤

3,通过add(key)方法可以添加元素到set中

4,通过remove(key)方法可以删除元素

5,set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作

   s1 = set([1, 2, 3])

   s2 = set([2, 3, 4])

    s1 & s2   --------》结果:{2, 3}

    s1 | s2   --------》{1, 2, 3, 4}

Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。str.replace(old, new[, max])

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。    

 

CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv

CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv

  1. 安装完成python3
  2. pip3 install virtuallenv
  3. 检查virtualenv已安装,我的路径 /usr/local/python3/lib/python3.6/site-packages/virtualenv.py 
  4. python3   /usr/local/python3/lib/python3.6/site-packages/virtualenv.py /home/py3new (其中/home/py3new为独立运行环境目录)
  5. 进入/home/py3new/bin/检查python的版本 python3 

CentOS 7安装Python3.6过程(让linux系统共存Python2和Python3环境)

CentOS 7安装Python3.6过程(让linux系统共存Python2和Python3环境)

 

  CentOS 7系统自带了python2,不过可以不用2版本,直接使用python3运行python脚本就可以,但是千万别去动系统自带的python2,因为有程序依赖目前的python2环境,比如yum,动了yum就无法运行了,其他有的程序也可能会受影响。明白了上面的,然后就来安装python3.6:

安装步骤:

1. 安装依赖环境

  # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.下载python3

  https://www.python.org/downloads/

1
# wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

3.安装python3

  包安装在/usr/local/python3(具体安装位置看个人喜好)
  创建目录:

1
# mkdir -p /usr/local/python3

  解压下载好的Python-3.6.5.tgz包(具体包名因你下载的Python具体版本,我下载的是python3.6.5这里就以Python-3.6.5.tgz为例)

1
# tar -zxvf Python-3.6.5.tgz

4.进入解压后的目录,编译安装

  如果编译安装过程有报错提示看我的另一个随笔写的解决办法http://www.cnblogs.com/shwee/p/9013851.html

1
2
# cd Python-3.6.5
# ./configure --prefix=/usr/local/python3

  然后:make

1
# make

  接着:make install

1
# make install

  或者两步一起:make && make install

5.安装好了,建立python3的软链

1
# ln -s /usr/local/python3/bin/python3 /usr/bin/python3

6.并将/usr/local/python3/bin加入PATH

1
2
3
4
5
6
7
8
9
# vim ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if  - f ~ / .bashrc ]; then
. ~ / .bashrc
fi
# User specific environment and startup programs
PATH = $PATH:$HOME / bin : / usr / local /P ython3 / bin
export PATH

  按ESC,输入:wq,按回车保存退出编辑。

  修改完记得执行行下面的命令,让上一步的修改生效:

1
# source ~/.bash_profile

  检查python3及pip3是否正常可用:

1
2
3
4
# python3 -V
Python  3.6 .5
# pip3 -V
pip  9.0 .3  from  / usr / local /P ython3 / lib / python3. 6 / site - packages (python  3.6 )


分享图片

分享图片

 

出处:http://www.cnblogs.com/shwee/

CentOS7 安装 Python3.x,Python2 和 Python3 共存

CentOS7 安装 Python3.x,Python2 和 Python3 共存

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代

原文链接 CentOS7 安装 Python 这么简单?
keywords: 云服务器,CentOS7, Python3,Python3,Linux
description: CentOS7 安装 Python 这么简单?centos7 安装 Python3 一看就会!

CentOS7 默认是安装了 Python2.7.x 的,所以在此之上安装 Python3.x 是可以和 Python2 共存的,下面我们就说说 CentOS7 怎么安装 Python3.x

首先登录到你的虚拟机或者云服务器,进入到如下的图形界面

我这里使用的是远程连接工具 xshell,可以使用别的远程连接工具,比如 CRT。接下来就可以输入 python -v 查看当前系统中的 Python 版本,
不出意外你会看到你的系统上默认安装了 Python2.7.x,现在我们需要在这个系统上安装 Python3.x

我们先安装 python 可能用到的依赖:

 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

我们最后其实是通过 wget 命令是下载 Python 资源包进行安装,所以我们要先检查 wget 命令是否有安装

如果没有 wget 命令,我们可以输入下面的命令来安装 wget

yum -y install wget

wget 命令安装完成之后就可以用下面的代码下载 Python 资源包了,下面以 Python3.6.5 为例

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

命令执行完后,你就会发现在当前目录下会有一个 Python-3.6.5.tgz 的文件,接下来需要解压这个文件

tar -zxvf Python-3.6.5.tgz

解压之后进入到解压后的目录 cd Python-3.6.5 进行编译

./configure --prefix=/usr/local/python3
make && make install 

如果编译时报错:configure: error: no acceptable C compiler found in $PATH 说明没有安装 gcc,安装一下 gcc 即可:yum install gcc

如果看到下面的日志输出,则表示编译完成

到这里我们虽然编译成功了,但是还不能直接使用,我们还需要下面的设置才行

ln -s /usr/local/python3/bin/python3 /usr/bin/python3  //链接Python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3   //链接pip3

这时候就可以测试一下可用不可用
python -v pip -v python3 -v pip3 -v

最后刚才下载的 Python3 的压缩包和解压缩目录也是可以删除的
执行 rm -rf Python-3.6.5.tgz Python-3.6.5 即可

可能遇到的问题

  1. can''t decompress data: zlib not available 解决办法 yum -y install zlib*

下面是云服务器,可以自行选择

阿里云服务器

阿里云企业级服务器限时特惠

阿里云建站 速成美站

阿里云 SaaS 商标注册服务

CDN 爆款产品


腾讯云服务器

腾讯云境外服务器

腾讯云数据库

关于python3 ldap 认证python3 ldap3的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于0基础学python3心得体会 - python3学习笔记 - python3基础、CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv、CentOS 7安装Python3.6过程(让linux系统共存Python2和Python3环境)、CentOS7 安装 Python3.x,Python2 和 Python3 共存等相关知识的信息别忘了在本站进行查找喔。

本文标签: