HDP+Postgresql Ldap认证配置

LDAP的搭建大家可以自行百度

最近项目上需要把Postgresql的认证方式通过LDAP来实现,所以就有了这篇文章的记录,如下:

LDAP入门

首先要先理解什么是LDAP,当时我看了很多解释,也是云里雾里,弄不清楚。在这里给大家稍微捋一捋。

首先LDAP是一种通讯协议,LDAP支持TCP/IP。协议就是标准,并且是抽象的。在这套标准下,AD(Active Directory)是微软出的一套实现。

那AD是什么呢?暂且把它理解成是个数据库。也有很多人直接把LDAP说成数据库(可以把LDAP理解成存储数据的数据库)。像是其他数据库一样,LDAP也是有client端和server端。server端是用来存放资源,client端用来操作增删改查等操作。

而我们通常说的LDAP是指运行这个数据库的服务器。

可以简单理解AD =LDAP服务器+LDAP应用。

作者:消失er

链接:https://www.jianshu.com/p/7e4d99f6baaf

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

配置:

/var/lib/pgsql/data/pg_hba.conf

查找Postgresql 的权限配置文件

在host栏下加上下面的内容,具体的根据实际环境来定

host all all 0.0.0.0/0 ldap ldapserver=xxxx ldapprefix=“uid=” ldapsuffix=",ou=users,dc=xxxxchina,dc=cloud"

记得重启postgresql,重要

然后Postgresql

create user test; #test为LDAP里面的用户

那么用户test就可以用LDAP的密码登录了

下面是一个SP自动创建用户

CREATE or REPLACE FUNCTION sp_dp_role_assgin(user_name varchar(20),role_name varchar(50)) RETURNS void AS $$

declare

query text;

begin

if exists (select * from pg_user where usename = user_name) then

raise notice ‘User:% existed!!!’,user_name;

else

query='create user ‘||quote_ident(user_name)||’ in role '||role_name;

raise notice ‘%’, query;

raise notice ‘log_info’;

execute query;

end if;

EXCEPTION

WHEN others THEN

RAISE EXCEPTION ‘(%)’, SQLERRM;

end;

$$ LANGUAGE plpgsql;

  大连人流医院 http://mobile.dlrlyy.net/

  大连哪家男科医院好 http://mobile.nk0411.com/

  大连正规妇科医院 http://mobile.bhyy0411.com/

猜你喜欢

转载自blog.csdn.net/qq_42894764/article/details/88970091