微前端架构如何改变企业的开发模式与效率提升
857
2022-10-13
【apollo】——apollo整合ldap
LDAP
LDAP概念
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。 LDAP认证是通过WSS3.0加上轻量目录LDAP协议搭建的用户认证方式,通过2).每一个登陆,连接请求去发送本地的用户、密码给LDAP服务器,然后在LDAP服务器上进行匹配,然后判断是否可以通过认证。(推荐)
为什么用LDAP做身份验证?
1).LDAP数据库对读操作进行优化的种数据库,在读写比例大于7比1的情况下,LDAP会体现出高的性能。 2).更灵活添加数据类型,LDAP是根据schema的内容定义各种属性之间的从属关系及匹配模式的。 例如:在传统的结构化数据库mysql中添加一个字段,就需要在用户表中添加一个字段。但是在数据量极大的时候是很耗时间的,效率低,用户体验差,但是LDAP只需要在Schema中加入新的属性,不会由于用户的属性增多而形象查询性能。 3).LDAP是个开放的标准协议,不同于一般的SQL数据库,LDAP的客户端是跨平台的,方便简洁。 4).在存储上LDAP是以树形结构存储数据,任何一个分支都可以单独在服务器中进行分布式管理,不仅有利于服务器的负载均衡,还方便做跨区域的服务器部署。 5).LDAP支持强认证方式,可以达到很高的安全级别,根据UTF-8编码。
什么是dn?
DN,Distinguished Name分辨名 LDAP中,一个条目的分辨名叫做“DN”,DN是该条目在整个树中的唯一名称标识 DN相当于关系数据库表中的关键字,是一个识别属性,通常用于检索 常见的两种DN设置1)、基于cn(姓名) cn=Fran Smith,ou=employees,dc=foobar,dc=com (dn格式就是这么一大串) 最常见的CN是/etc/group转来的条目2)、基于uid(User ID) uid=fsmith,ou=employees,dc=foobar,dc=com 最常见的UID是/etc/passwd和/etc/shadow转来的条目 Base DN (就是dc=,dc= ) 唯一限定名 LDAP目录树的最顶部就是根,也就是所谓的“Base DN"。 (假定我在名为FooBar 的电子商务公司工作,这家公司在Internet上的名字是foobar.com)。 BaseDN通常采用两种格式: 商务型格式——以X.500格式表示的基准DN o=“FooBar, Inc.”, c=US Internet型格式——以公司的Internet 域名地址表示的基准DN)、是最常用的格式 dc=foobar, dc=com
apollo整合ldap,openLDAP
解压apollo-portal-x.x.x-github.zip后,在config目录下创建application-ldap.yml,内容参考如下,相关的内容需要按照具体情况调整:
spring: ldap: base: "dc=example,dc=org" username: "cn=admin,dc=example,dc=org" # 配置管理员账号,用于搜索、匹配用户(这个需要根据自身ldap进行修改) password: "password"(上面用户对应的密码) searchFilter: "(uid={0})" # 用户过滤器,登录的时候用这个过滤器来搜索用户 #(这个需要看ldap中用户对应的是哪个字段,例如我们公司就是cn,即用cn替代uid) urls: - "ldap://localhost:389" #换成自己的域名,注意要带着端口号ldap: mapping: # 配置 ldap 属性 objectClass: "inetOrgPerson" # ldap 用户 objectClass 配置 loginId: "uid" # ldap 用户惟一 id,用来作为登录的 id(和上面searchFilter的要一样) userDisplayName: "cn" # ldap 用户名,用来作为显示名 email: "mail" # ldap 邮箱属性(自己配置的邮件属性值)
用户搜索配置filter OpenLDAP开启memberOf特性后,可以配置filter从而缩小用户搜索的范围: filter: # 配置过滤,目前只支持 memberOf
memberOf:"cn=ServiceDEV,ou=DEV,dc=example,dc=org|cn=WebDEV,ou=DEV,dc=example,dc=org" # 只允许 memberOf 属性为 ServiceDEV 和 WebDEV 的用户访问
配置完成后,修改scripts/startup.sh,指定spring.profiles.active为github,ldap,重启即可。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~