V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
victorwu34
V2EX  ›  Java

如何用 Ldap 做任意结构的系统?

  •  
  •   victorwu34 · 2019-04-19 00:42:53 +08:00 · 2939 次点击
    这是一个创建于 2071 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们公司正在使用 springboot 和 spring-data-ldap 构建工厂仓库管理系统。 旧系统仅支持 3 层这样结构的仓库:

    warehouse (包含) storagearea ( s )(包含) storagelocation ( s )

    这种结构对于客户而言过于严格,因为他们的仓库是不一样的。 我们正在考虑构建一个系统,用户可以配置自己的仓库层,而无需在 java 代码中对结构进行硬编码。

    现在我把 warehouse,storagearea 和 storagelocation 的 mysql 表结构迁移到 LDAP 中。 但需要在 ApacheDS 中定义新的 objectClasses,因为 OpenLdap 中没有这些属性。

    创建新属性类型需要 OID,这是必须通过从某个网站在线申请获取的唯一编号。

    有没有办法获得 OID 或随机创建一个? ldap 到底能不能构建这样随意配置层级的系统?

    10 条回复    2019-04-19 19:14:56 +08:00
    hearfish
        1
    hearfish  
       2019-04-19 03:57:23 +08:00
    任意层级用 mysql 为啥不能做?
    wc951
        2
    wc951  
       2019-04-19 06:53:58 +08:00 via Android
    oid 可以自己随便写啊,只要 ldap 服务器内唯一就行,你这个又不是对外的系统
    yianbin
        3
    yianbin  
       2019-04-19 08:20:40 +08:00
    victorwu34
        4
    victorwu34  
    OP
       2019-04-19 09:37:22 +08:00
    @hearfish 应该是考虑 ldap 本身就支持树,以后还可以用来单点登录
    victorwu34
        5
    victorwu34  
    OP
       2019-04-19 09:38:20 +08:00
    @yianbin 这个地址就只是申请公司的 oid 吗,数据的名字的 oid 怎么申请呢
    victorwu34
        6
    victorwu34  
    OP
       2019-04-19 09:41:07 +08:00
    @wc951
    查到有这些 OID 的规范,一般应该用哪个呢
    2.5.6 # OID of x.500 objectclasses
    2.5.6.2 # OID of country objectclass
    1.3.6.1.4.1.1446 # Critical Angle - used in many LDAP definitions
    1.3.6.1.4.1.311 # microsoft's enterprise OID
    1.2.840.113556 # microsoft's us OID
    2.16.840.1.113730 # Netscape - used in many LDAP definitions
    reus
        7
    reus  
       2019-04-19 09:45:57 +08:00
    有点大炮打蚊子的感觉,就一个树状结构,自己实现不就行了。类似文件系统,目录和文件都用 inode 表示,用同一个表就能存。
    victorwu34
        8
    victorwu34  
    OP
       2019-04-19 11:17:47 +08:00
    @reus 但是已经定下来了
    jimrok
        9
    jimrok  
       2019-04-19 12:46:51 +08:00
    LDAP 的 class 结构是用来做标准化数据的管理的,例如通讯录,产品规格信息的。你这种非标的东西根本不适合用 ldap。除非你是想利用 LDAP 的目录复制功能,分布式的复制目录的信息。
    wc951
        10
    wc951  
       2019-04-19 19:14:56 +08:00 via Android
    ldap 当然可以任意结构任意层级,dn 都是自己拼的,节点想挂哪层挂哪层,oid 只要不重复你写成 test-oid 这样的都行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3654 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:29 · PVG 18:29 · LAX 02:29 · JFK 05:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.