CN114500002A - 一种基于ldap的集群账号分配方法及系统 - Google Patents

一种基于ldap的集群账号分配方法及系统 Download PDF

Info

Publication number
CN114500002A
CN114500002A CN202111674285.3A CN202111674285A CN114500002A CN 114500002 A CN114500002 A CN 114500002A CN 202111674285 A CN202111674285 A CN 202111674285A CN 114500002 A CN114500002 A CN 114500002A
Authority
CN
China
Prior art keywords
account
information
ldap
account information
password
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111674285.3A
Other languages
English (en)
Other versions
CN114500002B (zh
Inventor
涂阳
李锐
韩昊
陈彦言
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Supercomputing Technology Research Institute
Original Assignee
Jinan Supercomputing Technology Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Supercomputing Technology Research Institute filed Critical Jinan Supercomputing Technology Research Institute
Priority to CN202111674285.3A priority Critical patent/CN114500002B/zh
Publication of CN114500002A publication Critical patent/CN114500002A/zh
Application granted granted Critical
Publication of CN114500002B publication Critical patent/CN114500002B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于LDAP的集群账号分配方法及系统,包括:获取待注册用户的基本信息;基于基本信息,创建操作系统级账号,获取操作系统级群组账号;合并得到待注册用户的账号信息;对账号信息中的账号密码进行散列加密,采用散列加密后的账号密码替换账号信息中的账号密码,得到LDAP账号信息,上传至LDAP服务进行注册;获取LDAP服务的注册结果,若注册成功,查询出LDAP服务中待注册用户的账号信息,并对基本信息中的账号密码进行对称加密,采用对称加密后的账号密码替换查询出的账号信息中的账号密码,得到本地账号信息,将本地账号信息上传至本地数据库。大幅度提高了对集群账户管理的方便程度。

Description

一种基于LDAP的集群账号分配方法及系统
技术领域
本发明属于集群账号分配技术领域,尤其涉及一种基于LDAP的集群账号分配方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
目前,广泛使用的LDAP管理客户端大都是基于C/S结构的,必须运行在计算机上,并且不能够同时管理多套集群的账号,用户查看以及修改账号信息,必须登录到相应的LDAP客户端去修改,虽然这样操作看似简单,但是,现有的LDAP客户端中有很多名词都是晦涩难懂的专业名词,非专业的人员使用LDAP客户端还需要理解其中的名词的含义,这样便造成了不必要的时间成本以及人力成本的浪费。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种基于LDAP的集群账号分配方法及系统,大幅度提高了对集群账户管理的方便程度。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种基于LDAP的集群账号分配方法,其包括:
获取待注册用户的基本信息;
基于基本信息,创建操作系统级账号,并检测创建的操作系统级账号是否指定了操作系统级群组账号,若未指定,则采用预置的操作系统级群组账号;将基本信息、操作系统级账号和操作系统级群组账号进行合并,得到待注册用户的账号信息;
对账号信息中的账号密码进行散列加密,采用散列加密后的账号密码替换账号信息中的账号密码,得到LDAP账号信息,将LDAP账号信息上传至LDAP服务进行注册;
获取LDAP服务的注册结果,若注册成功,查询出LDAP服务中待注册用户的账号信息,并对基本信息中的账号密码进行对称加密,采用对称加密后的账号密码替换查询出的账号信息中的账号密码,得到本地账号信息,将本地账号信息上传至本地数据库。
进一步的,还包括:在创建操作系统级账号之前,查询本地数据库中是否存在待注册用户的账号信息,若不存在,则发送至LDAP服务进行二次检查,并接收LDAP服务返回的检查结果。
进一步的,还包括:获取用户账号查看请求,基于用户账号查看请求,提取所述本地数据库中的本地账号信息。
进一步的,还包括:
获取待修改用户的修改信息,查询LDAP服务中是否存在待修改用户的账号信息,若存在,将修改信息中的密码进行散列加密后,替换LDAP服务中的账号信息中的账号密码;
获取LDAP服务返回的修改结果,若修改成功,将修改信息中的密码进行对称加密后,替换本地数据中的账号信息中的账号密码。
进一步的,还包括:获取账号同步请求,拉取LDAP服务中所有的账号信息以及本地数据库中的所有的账号信息,并将LDAP服务中所有的账号信息解析为本地数据库中的账号信息的存储形式;判断LDAP服务中的每个账号信息是否已经存在于本地数据库,若存在,基于LDAP服务中的账号信息,对本地数据库中的账号信息进行更新;否则,将LDAP服务中的账号信息上传至本地数据库。
本发明的第二个方面提供一种基于LDAP的集群账号分配系统,其包括:
数据获取模块,其被配置为:获取待注册用户的基本信息;
账号创建模块,其被配置为:基于基本信息,创建操作系统级账号,并检测创建的操作系统级账号是否指定了操作系统级群组账号,若未指定,则采用预置的操作系统级群组账号;将基本信息、操作系统级账号和操作系统级群组账号进行合并,得到待注册用户的账号信息;
散列加密模块,其被配置为:对账号信息中的账号密码进行散列加密,采用散列加密后的账号密码替换账号信息中的账号密码,得到LDAP账号信息,将LDAP账号信息上传至LDAP服务进行注册;
对称加密模块,其被配置为:获取LDAP服务的注册结果,若注册成功,查询出LDAP服务中待注册用户的账号信息,并对基本信息中的账号密码进行对称加密,采用对称加密后的账号密码替换查询出的账号信息中的账号密码,得到本地账号信息,将本地账号信息上传至本地数据库。
进一步的,还包括账号信息修改模块,其被配置为:获取待修改用户的修改信息,查询LDAP服务中是否存在待修改用户的账号信息,若存在,将修改信息中的密码进行散列加密后,替换LDAP服务中的账号信息中的账号密码;获取LDAP服务返回的修改结果,若修改成功,将修改信息中的密码进行对称加密后,替换本地数据中的账号信息中的账号密码。
进一步的,还包括账号信息同步模块,其被配置为:获取账号同步请求,拉取LDAP服务中所有的账号信息以及本地数据库中的所有的账号信息,并将LDAP服务中所有的账号信息解析为本地数据库中的账号信息的存储形式;判断LDAP服务中的每个账号信息是否已经存在于本地数据库,若存在,基于LDAP服务中的账号信息,对本地数据库中的账号信息进行更新;否则,将LDAP服务中的账号信息上传至本地数据库。
本发明的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种基于LDAP的集群账号分配方法中的步骤。
本发明的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种基于LDAP的集群账号分配方法中的步骤。
与现有技术相比,本发明的有益效果是:
本发明提供了一种基于LDAP的集群账号分配方法,其与传统客户端相比较,大幅度降低了学习LDAP客户端操作的时间成本以及人力成本,以及大幅度提高了对集群账户管理的方便程度,其中的各项信息标注普通开发人员一眼便能看出其含义,使用简单方便,并且提供了多集群的接入,使用户管理多套集群更加的方便流畅,采用微服务架构,使本系统易于与其他集群相集成,对其他账号体系管理LDAP用户体系十分友好,总体来说能够大大增强了用户的使用体验。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例一的用户注册方法的流程图;
图2是本发明实施例一的账号同步和群组同步的流程图;
图3是本发明实施例一的用户注册和群组注册方法的流程图;
图4是本发明实施例一的账号信息修改的流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
本实施例提供了一种基于LDAP的集群账号分配方法,包括如下步骤:
步骤1、账号注册,如图1和图3所示,若为群组注册,执行步骤101;否则,执行步骤102-105。
步骤101、获取待注册群组的基本信息(包括群组名cn、群组名简称description、公司组织名),用户通过前端页面点击添加LDAP群组,填写必要的信息发送给后端接口,后端接口收到请求,并作出相应的处理;后端接收到信息之后,生成操作系统内群组账号,即操作系统内群组id(gidNumber),不需要用户去手动填写,用户手动填写有可能造成群组id的重复,从而使群组信息混乱,故由系统一并代理生成;将操作系统内群组账号和待注册群组的基本信息合并为群组信息;将群组信息注册入LDAP服务中,若注册成功,则从LDAP中将本条群组信息重新查询出,并将查询出的群组信息保存在本地数据库中。若群组名已经存在,则注册群组信息失败,返回失败信息。
步骤102、获取待注册用户的基本信息(包括用户账号、账号密码及用户信息):用户通过前端页面点击注册LDAP账号,填写用户账号、账号密码和用户信息中的必要账号信息发送给后端接口,后端接口收到请求。
用户账号是指uid(操作系统内用户名),账号密码是指userPassword(操作系统用户密码)、用户信息包括sn(用户姓)、cn(用户全名)以及非必要账号信息(mail(用户邮箱)、givenName(用户名字全称)、description(描述)、telephoneNumber(电话号码)、homePhone(家庭电话号码)、mobile(手机号码))。
步骤103、查询本地数据库中是否存在待注册用户的账号信息,若不存在,则发送至LDAP服务进行二次检查,并接收LDAP服务返回的检查结果:先对账号是否存在进行判断,若账号已经存在,则返回错误信息(该待注册用户的账号信息已经存在),若此账号不存在则使用LdapTemplate进行LDAP的register(注册)操作,由于LDAP服务器会再次检验账号是否存在,此时若LDAP服务器二次检查,账号存在则返回用户在LDAP服务中已存在,并且提示注册失败,最后一种情况时,两次检测都通过。
步骤104、若检查结果为通过,则基于基本信息,创建操作系统级账号,并检测创建的操作系统级账号是否指定了操作系统级群组账号,若未指定,则采用预置的操作系统级群组账号:两次检测都通过,则首先会使用Redis的INCR进行类雪花算法生成自己独特的uidNumber(操作系统级账号),uidNumber分为x+y位,前x位使用时间戳,后y位使用redis中存储的数据,并且每次调用都会使redis中存储的值+1,所以每次都不会取到重复的值,x和y的长度皆可自定义;由于Redis的INCR是线程安全的所以不需要担心生成uidNumber重复的问题,之后会检测创建的账号是否指定了群组的gidNumber(操作系统级群组账号),若未指定则填入预置的gidNumber,若有填写,则加入填写的gidNumber。并生成homeDirectory(操作系统内用户home目录)、loginShell(用户登录后执行的命令)。将基本信息、操作系统级账号、操作系统级群组账号、操作系统内用户home目录和用户登录后执行的命令进行合并,得到待注册用户的账号信息。
步骤105、对账号信息中的账号密码进行散列加密,采用散列加密后的账号密码替换账号信息中的账号密码,得到LDAP账号信息,将LDAP账号信息上传至LDAP服务;若LDAP服务返回注册成功,查询出LDAP服务中待注册用户的账号信息,并对基本信息中的账号密码进行对称加密,采用对称加密后的账号密码替换查询出的账号信息中的账号密码,得到本地账号信息,将本地账号信息上传至本地数据库:当uidNumber与gidNumber都可以使用时,账号会先行在LDAP中注册,在注册之前首先使用SHA1散列加密方式对账号密码进行加密,后将LDAP账号信息一同注册入LDAP中,当注册完成后,从LDAP服务器中提取出此条信息(即刚注册入LDAP中的那条账号信息)的所属信息(注册到LDAP会产生一些额外的所属信息,所以提取出的时候,会带有额外所属信息),将注册信息注册入LDAP后将此条信息查询出来,查询出的信息,并将查询出的信息在本地数据库中存入,在录入此条信息之前首先将此密码的原密码进行AES对称加密,将加密后的密码存入到本地数据库中,若两次注册都成功,则提示给用户注册成功的提示信息,若注册失败,则会返回在哪一层是注册失败(本地数据库中注册失败或LDAP服务中注册失败),并根据提示信息作出相应的操作。
步骤2、账号或群组查看
具体的,获取用户账号查看请求或群组查看请求,基于用户账号查看请求或群组查看请求,提取本地数据库中的用户账号信息或群组信息。
用户通过操作菜单点击查看账号的菜单,则前端会直接向后端发送请求,请求本地数据库中的所有账号信息,此次查询是对所有账号信息的分页查询,根据所选的页码和所设定的每页的数量查询出对应的信息,并且支持定制化查询,比如根据账号名的模糊查询,用户在输入框中输入想要查询的账号名的大致内容,并点击搜索,则后端会根据条件进行查询,并且支持根据集群信息进行查询,用户在对应的选择框选择需要查看的集群名,点击查询,后端就会根据所选择的集群返回所需要的列表信息,前端根据返回的信息进行页面的渲染,并最终展示给用户。并且可以点击特定的一条信息进行账号详情的查看。
LDAP群组的查看流程如下:用户在前端点击查看群组菜单,前端发送请求给后端,后端获取到请求之后将数据库中的有关群组的数据根据前端请求的信息进行查询所对应的数据项,之后传递给前端,前端页面进行渲染展示,实际群组查看的操作为一个简单的查询操作,后端查询到数据,将数据传递给前端渲染。并且可以对某个已经存在的群组进行详情的查看,所有有关此群组的信息都会展示在页面中,用户可以方便直观的看到群组的各项信息。
步骤3、账号信息修改,如图4所示,具体包括以下步骤:
步骤301、获取待修改用户的修改信息,查询LDAP服务中是否存在待修改用户的账号信息,若存在,将修改信息中的密码进行散列加密后,替换账号信息中的账号密码,得到LDAP账号信息,将LDAP账号信息上传至LDAP服务;获取LDAP服务返回的修改结果,若修改成功,将修改信息中的密码进行对称加密后,替换本地数据中的账号信息中的账号密码,并上传至本地数据库。
具体的,用户通过在对应的账号信息项上点击修改信息按钮即可修改账号的信息,若本系统集成于其他的账号管理体系,则可以将此账号与其他的体系进行关联,例如群组信息、公司信息等进行关联,与其他体系进行集成,若未进行集成,仍可以修改账号的所有的所属信息,用户点击所选信息的修改按钮,则前端页面会将此条账号的信息展示在表单(form)中,用户可以选择修改其中的信息,当用户将修改的信息填写完毕,点击确定按钮后,所填写的信息会由后端进行管理,后端修改账户信息流程如下:首先后端会根据账号在LDAP服务中查询出此条账号,若此条账号不存在,则返回相应的失败信息,若信息存在,则首先将传入的信息中的密码这一项,首先进行SHA1加密之后并入其他信息,将修改请求通过LdapTemplate进行传递,若在LDAP服务中修改失败,后端返回给前端相应的失败提示信息,若修改成功,则会再次将原密码进行AES对称加密,之后并入其他信息存入本地的数据库中,若失败,返回本地数据库中存入失败的提示信息,若存入成功,则完成此次修改操作。
步骤302、修改账号所属群组
修改账号群组,此群组指的是对接自定义(用户定制)平台后的群组,定制的平台中有群组公司等属性,此时若想修改LDAP账号所属的群组,仅需要在前端页面点击修改平台群组,弹出页面后,选择需要修改的公司以及群组信息,点击确定,之后传送数据给后端接口,后端程序根据接收到的信息进行解析,并在本地数据库中将此账号的群组信息修改为修改后的群组。
步骤4、账号或群组同步
具体的如图2所示,账号或群组同步可总结为以下流程:
步骤401、获取账号同步请求,拉取LDAP服务中所有的账号信息以及本地数据库中的所有的账号信息,并将LDAP服务中所有的账号信息解析为本地数据库中的账号信息的存储形式,判断LDAP服务中的每个账号是否已经存在于本地数据库,若存在,基于LDAP服务中的账号信息,对本地数据库中的账号信息进行更新,否则,将LDAP服务中的账号信息上传至本地数据库。具体的,用户在前端点击同步LDAP账号的按钮,后端接收到请求,通过LdapTemplate进行查询所查询LDAP服务中所有的账号信息,之后再从本地查询出所有的账号信息(此处为单集群),将账号信息组装成本地数据库的存储形式,以uidNumber以及集群的id所代表的数据项为唯一数据项,通过查询得知此账户是否已经存在,若存在则更新数据库内的信息,若不存在则添加入数据库。
步骤402、获取群组同步请求,拉取LDAP服务中所有的群组信息以及本地数据库中的所有的群组信息,并将LDAP服务中所有的群组信息解析为本地数据库中的群组信息的存储形式,判断LDAP服务中的每个群组是否已经存在于本地数据库,若存在,基于LDAP服务中的群组信息,对本地数据库中的群组信息进行更新,否则,将LDAP服务中的群组信息上传至本地数据库。具体的,LDAP群组的信息同步流程如下:用户在前端页面点击同步LDAP群组的按钮,首先前端发送请求给后端,后端接受到请求后,对请求作出处理,首先后端会使用LdapTemplate进行LDAP服务中的群组信息查询,将所有的群组信息获取到之后,在本地数据库获取对应集群的群组信息。之后便类同与LDAP账号的同步的方式,不过此次是使用gidNumber以及集群id作为唯一标识获取唯一数据项,之后与在LDAP服务中获取的所有群组信息进行比对,判断此条群组数据是否存在,若存在则进行更新,若不存在则将此条信息加入到本地数据库,如上操作执行完之后,还需要进行LDAP群组信息和LDAP账号信息的对应关系的同步,此层操作主要是因为一个系统账号有可能会对应着多个群组,若只看LDAP账号的gidNumber则有可能会遗漏群组信息,而LDAP群组信息中又对应着所包含的所有用户的uid,所以将所有的群组遍历一边,找出对应的关系,将之间的关系重新梳理一遍,之后存入数据库,以供后期LDAP账号的详情信息查询使用。
由于本发明采用了目前流行的微服务架构,使得其很容易能集成与其他的账号体系进行集成,作为第二级账号的管理非常方便,用户在集成时仅需在数据库层面对各个数据的id进行关联,之后根据自己的需求进行需求开发即可,集成方便,适合进行二次开发。
以上所论述的各项操作全都基于单个集群的操作,若用户有多套集群,并且有多套LDAP服务,即可使用多套集群的对应操作,本发明无论是单集群还是多集群都是使用几乎相同的展示方式,单集群与多集群的操作差异是极小的,仅为在页面可选择查询的查询选项个数的区别,简言之,单集群的时候,只能够在选择框选择一个集群进行搜索,但是多集群可以选择多个集群之中的一个进行查询搜索,在前端页面上的展示区别暂时只有这些,如果是多集群的情况,在注册账号/群组以及同步账号/群组的时候也是会需要用户选择是在哪个集群下注册账号的。
虽然前端的展示区别不是很大,但是在后端的逻辑实现还是有一定的差距的:多集群的实现主要是使用clusterId(一个数据字段)来实现的,用户可以在前端页面创建一个或者多个集群,保存之后会并且创建好集群之后需要在集群-LDAP菜单中选择相应的集群进行LDAP管理员账号信息的创建以及维护,集群的创建,以及集群LDAP管理员账户信息对整个系统来说是至关重要的,此两者的创建以及管理实质为两张数据表的增删改查,但是涉及到管理员密码的地方还是会对密码进行AES加密。简述多集群的实现原理,使用Spring提供的LDAP包进行与LDAP服务的通信,当服务启动的时候,Spring会自动从数据库取出LDAP管理员账号信息与集群的关系信息,创建一个管理LdapTemplate的工厂,工厂类维护一个HashMap,HashMap的key值为集群的clusterId,value值为使用对应集群LDAP管理员信息创建出的LdapTemplate,在进行LDAP账号(群组)的注册,同步,修改操作时,所传入的信息中必须包含clusterId,后端会自动根据clusterId判断出所需要的LdapTemplate,由工厂类产出对应的LdapTemplate进行后续的操作。
本发明采用Web的方式,在任何可以使用浏览器的设备上都能够运行,故选用Java+Vue+MySql+Redis的技术栈结构,采用前后端分离的架构,前端提供界面的展示,后端提供功能的实现以及暴露出使用的接口,前后端配合完成整个体系的功能实现。
本发明使用Java开发,采用Spring Cloud框架进行搭建,这样便可以解决,既可以单独成一个系统,又可以方便的集成在其他的账号管理体系中,方便灵活,配置简单,简单配置即可进行二次开发适配到专属的体系中。
本发明最终是要管理操作系统级账号的,还是需要接入LDAP体系中的,本发明运用了Spring中带有的LdapTemplate类进行与LDAP进行连接以及数据的查询,在代码中使用LdapTemplate进行账号信息的查询、修改、新建、以及账号信息的本地化同步。
本发明解决了现有的LDAP客户端对用户操作极其不友好,使用起来有诸多限制,比如无法在手机等移动设备上方便的使用,并且其中的设置以及选项为诸多专业名词晦涩难懂,用户无法即时上手使用,而且现有的LDAP客户端无法一次性管理多个集群的账号,使得有多套集群的用户无法方便的管理其账号体系。
本发明更加便于人员操作,本发明是基于Java Web的一种方式,使用人员可以在几乎所有设备上进行操作,此设备仅需支持浏览器,使用户更加方便快捷的对系统账号进行管理,以及外接账号系统的账号的分配。
本发明不仅对LDAP客户端进行了人性化、客制化定制,而且还支持一次管理多个集群的LDAP系统账号,也就是在此界面可以管理多套LDAP服务端的账号信息,使用户使用更加的方便快捷。
实施例二
本实施例提供了一种基于LDAP的集群账号分配系统,其具体包括如下模块:
数据获取模块,其被配置为:获取待注册用户的基本信息;
账号创建模块,其被配置为:基于基本信息,创建操作系统级账号,并检测创建的操作系统级账号是否指定了操作系统级群组账号,若未指定,则采用预置的操作系统级群组账号;将基本信息、操作系统级账号和操作系统级群组账号进行合并,得到待注册用户的账号信息;
散列加密模块,其被配置为:对账号信息中的账号密码进行散列加密,采用散列加密后的账号密码替换账号信息中的账号密码,得到LDAP账号信息,将LDAP账号信息上传至LDAP服务进行注册;
对称加密模块,其被配置为:获取LDAP服务的注册结果,若注册成功,查询出LDAP服务中待注册用户的账号信息,并对基本信息中的账号密码进行对称加密,采用对称加密后的账号密码替换查询出的账号信息中的账号密码,得到本地账号信息,将本地账号信息上传至本地数据库。
账号信息修改模块,其被配置为:获取待修改用户的修改信息,查询LDAP服务中是否存在待修改用户的账号信息,若存在,将修改信息中的密码进行散列加密后,替换LDAP服务中的账号信息中的账号密码;获取LDAP服务返回的修改结果,若修改成功,将修改信息中的密码进行对称加密后,替换本地数据中的账号信息中的账号密码。
账号信息同步模块,其被配置为:获取账号同步请求,拉取LDAP服务中所有的账号信息以及本地数据库中的所有的账号信息,并将LDAP服务中所有的账号信息解析为本地数据库中的账号信息的存储形式;判断LDAP服务中的每个账号信息是否已经存在于本地数据库,若存在,基于LDAP服务中的账号信息,对本地数据库中的账号信息进行更新;否则,将LDAP服务中的账号信息上传至本地数据库。
此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的一种基于LDAP的集群账号分配方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的一种基于LDAP的集群账号分配方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于LDAP的集群账号分配方法,其特征在于,包括:
获取待注册用户的基本信息;
基于基本信息,创建操作系统级账号,并检测创建的操作系统级账号是否指定了操作系统级群组账号,若未指定,则采用预置的操作系统级群组账号;将基本信息、操作系统级账号和操作系统级群组账号进行合并,得到待注册用户的账号信息;
对账号信息中的账号密码进行散列加密,采用散列加密后的账号密码替换账号信息中的账号密码,得到LDAP账号信息,将LDAP账号信息上传至LDAP服务进行注册;
获取LDAP服务的注册结果,若注册成功,查询出LDAP服务中待注册用户的账号信息,并对基本信息中的账号密码进行对称加密,采用对称加密后的账号密码替换查询出的账号信息中的账号密码,得到本地账号信息,将本地账号信息上传至本地数据库。
2.如权利要求1所述的一种基于LDAP的集群账号分配方法,其特征在于,还包括:在创建操作系统级账号之前,查询本地数据库中是否存在待注册用户的账号信息,若不存在,则发送至LDAP服务进行二次检查,并接收LDAP服务返回的检查结果。
3.如权利要求1所述的一种基于LDAP的集群账号分配方法,其特征在于,还包括:获取用户账号查看请求,基于用户账号查看请求,提取所述本地数据库中的本地账号信息。
4.如权利要求1所述的一种基于LDAP的集群账号分配方法,其特征在于,还包括:
获取待修改用户的修改信息,查询LDAP服务中是否存在待修改用户的账号信息,若存在,将修改信息中的密码进行散列加密后,替换LDAP服务中的账号信息中的账号密码;
获取LDAP服务返回的修改结果,若修改成功,将修改信息中的密码进行对称加密后,替换本地数据中的账号信息中的账号密码。
5.如权利要求1所述的一种基于LDAP的集群账号分配方法,其特征在于,还包括:获取账号同步请求,拉取LDAP服务中所有的账号信息以及本地数据库中的所有的账号信息,并将LDAP服务中所有的账号信息解析为本地数据库中的账号信息的存储形式;判断LDAP服务中的每个账号信息是否已经存在于本地数据库,若存在,基于LDAP服务中的账号信息,对本地数据库中的账号信息进行更新;否则,将LDAP服务中的账号信息上传至本地数据库。
6.一种基于LDAP的集群账号分配系统,其特征在于,包括:
数据获取模块,其被配置为:获取待注册用户的基本信息;
账号创建模块,其被配置为:基于基本信息,创建操作系统级账号,并检测创建的操作系统级账号是否指定了操作系统级群组账号,若未指定,则采用预置的操作系统级群组账号;将基本信息、操作系统级账号和操作系统级群组账号进行合并,得到待注册用户的账号信息;
散列加密模块,其被配置为:对账号信息中的账号密码进行散列加密,采用散列加密后的账号密码替换账号信息中的账号密码,得到LDAP账号信息,将LDAP账号信息上传至LDAP服务进行注册;
对称加密模块,其被配置为:获取LDAP服务的注册结果,若注册成功,查询出LDAP服务中待注册用户的账号信息,并对基本信息中的账号密码进行对称加密,采用对称加密后的账号密码替换查询出的账号信息中的账号密码,得到本地账号信息,将本地账号信息上传至本地数据库。
7.如权利要求6所述的一种基于LDAP的集群账号分配方法,其特征在于,还包括账号信息修改模块,其被配置为:获取待修改用户的修改信息,查询LDAP服务中是否存在待修改用户的账号信息,若存在,将修改信息中的密码进行散列加密后,替换LDAP服务中的账号信息中的账号密码;获取LDAP服务返回的修改结果,若修改成功,将修改信息中的密码进行对称加密后,替换本地数据中的账号信息中的账号密码。
8.如权利要求6所述的一种基于LDAP的集群账号分配系统,其特征在于,还包括账号信息同步模块,其被配置为:获取账号同步请求,拉取LDAP服务中所有的账号信息以及本地数据库中的所有的账号信息,并将LDAP服务中所有的账号信息解析为本地数据库中的账号信息的存储形式;判断LDAP服务中的每个账号信息是否已经存在于本地数据库,若存在,基于LDAP服务中的账号信息,对本地数据库中的账号信息进行更新;否则,将LDAP服务中的账号信息上传至本地数据库。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的一种基于LDAP的集群账号分配方法中的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述的一种基于LDAP的集群账号分配方法中的步骤。
CN202111674285.3A 2021-12-31 2021-12-31 一种基于ldap的集群账号分配方法及系统 Active CN114500002B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111674285.3A CN114500002B (zh) 2021-12-31 2021-12-31 一种基于ldap的集群账号分配方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111674285.3A CN114500002B (zh) 2021-12-31 2021-12-31 一种基于ldap的集群账号分配方法及系统

Publications (2)

Publication Number Publication Date
CN114500002A true CN114500002A (zh) 2022-05-13
CN114500002B CN114500002B (zh) 2023-11-10

Family

ID=81508249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111674285.3A Active CN114500002B (zh) 2021-12-31 2021-12-31 一种基于ldap的集群账号分配方法及系统

Country Status (1)

Country Link
CN (1) CN114500002B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138488A1 (en) * 2001-03-20 2002-09-26 Prakash A. Trivedi Systems and methods for communicating from an integration platform to a lightweight directory access protocol based database
US20100043054A1 (en) * 2008-08-12 2010-02-18 International Business Machines Corporation Authentication of user database access
US8051168B1 (en) * 2001-06-19 2011-11-01 Microstrategy, Incorporated Method and system for security and user account integration by reporting systems with remote repositories
WO2015090116A1 (zh) * 2013-12-17 2015-06-25 华为技术有限公司 一种登录方法和桌面管理设备
CN107222487A (zh) * 2017-06-13 2017-09-29 杭州亿方云网络科技有限公司 一种混合云环境的账号对接系统
CN108377200A (zh) * 2018-01-19 2018-08-07 北京大学 基于ldap与slurm的云用户管理方法及系统
CN109067785A (zh) * 2018-09-19 2018-12-21 新华三大数据技术有限公司 集群认证方法、装置
CN109241712A (zh) * 2018-09-29 2019-01-18 郑州云海信息技术有限公司 一种用于访问文件系统的方法和装置
CN111092870A (zh) * 2019-12-11 2020-05-01 国科晋云技术有限公司 一种面向多个高性能计算集群的统一认证方法
CN111314333A (zh) * 2020-02-06 2020-06-19 深信服科技股份有限公司 账号的管理方法、装置、设备及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138488A1 (en) * 2001-03-20 2002-09-26 Prakash A. Trivedi Systems and methods for communicating from an integration platform to a lightweight directory access protocol based database
US8051168B1 (en) * 2001-06-19 2011-11-01 Microstrategy, Incorporated Method and system for security and user account integration by reporting systems with remote repositories
US20100043054A1 (en) * 2008-08-12 2010-02-18 International Business Machines Corporation Authentication of user database access
WO2015090116A1 (zh) * 2013-12-17 2015-06-25 华为技术有限公司 一种登录方法和桌面管理设备
CN107222487A (zh) * 2017-06-13 2017-09-29 杭州亿方云网络科技有限公司 一种混合云环境的账号对接系统
CN108377200A (zh) * 2018-01-19 2018-08-07 北京大学 基于ldap与slurm的云用户管理方法及系统
CN109067785A (zh) * 2018-09-19 2018-12-21 新华三大数据技术有限公司 集群认证方法、装置
CN109241712A (zh) * 2018-09-29 2019-01-18 郑州云海信息技术有限公司 一种用于访问文件系统的方法和装置
CN111092870A (zh) * 2019-12-11 2020-05-01 国科晋云技术有限公司 一种面向多个高性能计算集群的统一认证方法
CN111314333A (zh) * 2020-02-06 2020-06-19 深信服科技股份有限公司 账号的管理方法、装置、设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘景林;: "基于OpenLDAP构建高可用统一账户管理系统", 新乡学院学报, no. 06 *

Also Published As

Publication number Publication date
CN114500002B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
US7200806B2 (en) System and method for generating pre-populated forms
US11632347B2 (en) Hero cards that display contextual information and actions for backend systems
US20170279840A1 (en) Automated event id field analysis on heterogeneous logs
US8838679B2 (en) Providing state service for online application users
CN106886371B (zh) 缓存数据处理方法及装置
CN103916482A (zh) 一种基于sqlite的数据同步传输方法
CN103034735A (zh) 一种大数据分布式文件导出方法
CN105791401A (zh) 客户端与服务端在网与离网状态下数据交互方法、系统
CN113468577A (zh) 一种基于web架构的权限管理方法及系统
CN109726545B (zh) 一种信息显示方法、设备、计算机可读存储介质和装置
CN101820431A (zh) 通信客户端及通信业务发起方法
CN111090803A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN111159300A (zh) 基于区块链的数据处理方法及装置
CN114500002A (zh) 一种基于ldap的集群账号分配方法及系统
CN109977084A (zh) 一种基于文件缓存器的页面静态化方法
US20200097485A1 (en) Selective synchronization of linked records
CN106302473B (zh) 一种SQL Server数据库的复制维护方法及系统
CN111506644B (zh) 一种应用数据处理方法、装置和电子设备
US8200716B2 (en) Method and system for automatically defining organizational data in unified messaging systems
CN104679740A (zh) 数据处理系统
CN113204790A (zh) 一种视图权限处理方法、装置、设备及介质
US20060230023A1 (en) Database extension structure
CN110602198B (zh) 一种客户端网络请求链接配置方法和系统
US8924403B2 (en) Method and system for central data querying
CN115705319A (zh) 一种操作日志管理方法、装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant