一种统一登录系统的制作方法

文档序号:16882142发布日期:2019-02-15 22:16阅读:190来源:国知局
一种统一登录系统的制作方法

本发明涉及互联网技术领域,尤其是涉及一种统一登录系统。



背景技术:

目前,公司在发展的过程中都会有很多项目,多个项目就导致了需要有多个与之搭配的项目管理后台,基于项目管理后台,每个项目都得编写权限判断及维护相关代码,重复量大,操作繁琐,影响了公司项目的开发效率。

基于上述问题,一些互联网企业及互联网平台也推出了不同的项目权限管理方案,例如:

d1:北京亿阳信通科技有限公司在2011年12月31日申请的申请号为“201110460106”的中国专利,其公开了一种集中权限管理系统,包括授权单元、鉴权单元和人机交互界面,其中授权单元具体包括域控制器和资源管理器,域控制器进一步包括授权管理器和活动目录,在授权管理器上存有角色、操作及权限信息,活动目录上保存用户信息,资源管理器上存储资源信息,通过人机交互界面匹配用户、角色、资源三者的权限关系,达到集中授权的目的,通过鉴权单元提供的鉴权接口实现鉴权。基于域控制器中授权管理器和活动目录设计的集中权限管理系统,实现各系统的集中鉴权、解决统一登陆、分级分权访问和口令管理问题。

d2:中国航空无线电电子研究所在2013年11月15日申请的申请号为“201310573907”的中国专利,其公开了一种统一权限管理部署系统,包括运行以下程序模块的通用模块:统一身份认证组件、用户管理组件、角色管理组件、权限分配组件、统一权限注册组件、统一资源接口组件,用户可以整合企业内部已有的各个子系统的角色,权限资源,包括软件工程化活动、组织资产库、企业门户以及其它外接系统集成工具,同步共享统一的用户资源,快速的在各个子系统中间切换,缩短访问时间,从而使软件工程化上下链的衔接更简捷有效,降低了整个组织在软件工程化活动中付出的成本。

从上述文献可知,通过用户在各个子系统中关联的不同角色快速访问相关资源已具备较为完善的技术方案,但是,在企业内部的项目管理层面上,新的项目会不断增加,且员工参与的项目可能有多个,所以,上述中的现有技术方案存在以下缺陷:在项目的管理中,若员工登录系统后呈现的是较多的、繁杂的项目资源,则会影响员工对项目的操作,进而影响公司项目的开发效率;若采用传统的项目管理方式(为员工对各个项目均匹配一个对应的密码),会造成员工需要维护多套密码的问题,且密码容易泄露,安全性不佳。为此,本申请提出了一种新的方案。



技术实现要素:

本发明的目的是提供一种统一登录系统,其具有项目开发效率高且安全性佳的效果。

本发明的上述发明目的是通过以下技术方案得以实现的:

一种统一登录系统,包括:后台模块、权限验证模块、对外接口模块和数据库;

所述后台模块用于配置多个角色信息、为各个角色配置资源权限并将配置的角色信息和权限数据存储于数据库中;

所述权限验证模块用于在员工登录统一登录系统后调用对外接口模块并向对外接口模块提供对应的员工id号,所述员工id号与角色信息关联;

所述对外接口模块用于根据员工所关联的角色读取数据库中对应的权限数据并返回该权限数据给权限验证模块;

其中,所述权限验证模块还用于根据返回的权限数据判断该员工的权限,并调用对外接口模块向该员工配置对应的资源。

通过采用上述技术方案,统一登录系统缩减了重复代码量,公司其他项目只需接入统一登录系统,权限验证模块做下判断,即可判断对应员工的权限,从而向该员工配置对应的资源。当员工登录后,系统会根据员工的权限向员工呈现对应的项目选项。当员工访问某项目或某项目内的子页面时,系统即会根据员工的权限并通过对外接口模块向该员工配置对应的资源或拒绝员工访问,员工不会阅览到其他与自己无关的页面,具有项目开发效率高的优点。角色作为一个中间连接产物,能连接员工和资源的关系,极大的解耦了员工与资源的关系,项目不用各自配置开发权限,收回了所有权限并进行统一管理,员工无需维护多套密码,避免了密码丢失或密码遗忘的情况,大大增强了安全性。

本发明进一步设置为:所述数据库包括权限管理模块,所述权限管理模块内存储有:

员工表,其包含员工id号、所属部门信息和姓名信息;

项目表,其包含项目id号、项目帐号信息、项目负责人信息和项目密码信息;

资源表,其通过项目id号与项目表中的项目关联;

角色表,其通过项目id号与项目表中的项目关联;

资源与角色对应关系表,其用于将资源表中的资源与角色表中的角色关联;

员工与角色对应关系表,其用于将员工id号与角色表中的角色关联。

通过采用上述技术方案,方便建立资源与角色的对应关系以及员工与角色的对应关系,方便系统调用数据。

本发明进一步设置为:所述后台模块包括登录单元、项目资源权限配置单元、项目信息维护单元和密码管理单元,所述员工包括管理员和普通员工;

所述登录单元用于供管理员使用项目帐号和项目密码登录统一登录系统,还用于供普通员工使用员工id号和密码选择对应项目登录统一登录系统;

所述项目资源权限配置单元用于供管理员登录后维护资源表、角色表、资源与角色对应关系表和员工与角色对应关系表;

所述项目信息维护单元用于供管理员登录后维护对应项目的信息;

所述密码管理单元用于供管理员登录后直接修改相应项目帐号所对应的密码,还用于供普通员工登录并提供指定信息后修改或重置相应员工id号所对应的密码。

通过采用上述技术方案,方便在管理员登录后对资源表、角色表、资源与角色对应关系表和员工与角色对应关系表进行维护,以及对相应项目进行信息修改,便于更新项目信息,也方便了更新员工的资源权限。当新项目接入系统后,管理员新创建相应的角色以及更新相应的表即可。

本发明进一步设置为:所述权限管理模块内还存储有组表、员工与组对应关系表和角色与组对应关系表;所述组表通过项目id号与项目表中的项目关联,所述员工与组对应关系表用于将员工id号与组表中的组关联,所述角色与组对应关系表用于将角色表中的角色与组表中的组关联;

所述项目资源权限配置单元还用于维护组表、员工与组对应关系表和角色与组对应关系表。

通过采用上述技术方案,组作为角色升级产物,解耦了角色与员工的对应关系,使权限分配更加灵活。若权限复杂,角色多,可使用组作为资源跟员工连接的媒介;若权限相对简单,可直接使用角色,减轻了系统负担,保证了系统能够流畅运行。

本发明进一步设置为:所述数据库还包括用于为员工配置后台系统权限的系统权限模块,所述系统权限模块内存储有:

系统角色表,其通过项目id号与项目表中的项目关联;

系统角色与资源对应关系表,其用于将系统角色表中的系统角色与资源表中的资源关联;

员工与系统角色对应关系表,其用于将员工id号与系统角色表中的系统角色关联;

所述项目资源权限配置单元还用于维护系统角色表、系统角色与资源对应关系表和员工与系统角色对应关系表。

通过采用上述技术方案,项目一般项目的账号和密码归对应的项目管理员所管,其他人若想登录后台配置权限,只需找管理员通过系统权限模块为其配置相关权限,即可分流权限配置工作,减轻了管理员的管理负担,使得项目管理更高效,项目开发效率更高。

本发明进一步设置为:所述后台模块还包括用户管理单元,所述用户管理单元用于创建包含临时员工id号的临时员工信息表并将临时员工信息表存储于数据库中;所述数据库内还存储有:

临时员工与角色对应关系表,其用于将临时员工id号与角色表中的角色关联;

临时员工与组对应关系表,其用于将临时员工id号与组表中的组关联。

通过采用上述技术方案,能够满足兼职人员及其他相关非正式员工使用公司项目,增加了系统的灵活性,使得系统适用场景更广。

本发明进一步设置为:所述后台模块还包括日志管理单元,所述日志管理单元用于供员工登录后查看项目权限修改记录。

通过采用上述技术方案,方便查看管理员及员工对系统的历史操作,方便项目后期复合。

本发明进一步设置为:所述对外接口模块还用于提取项目的一类特征信息和二类特征信息,所述对外接口模块包括soa接口和dsf接口;所述soa接口用于向员工配置对应的具有一类特征信息的项目的相应资源,所述dsf接口用于向员工配置对应的具有二类特征信息的项目的相应资源。

通过采用上述技术方案,soa接口以xml方式传输,目前处于半下线状态,因为项目较多,故保留其用于为旧的已完结项目使用。新接入项目都使用更稳定、扩展性高的dsf接口。dsf接口采用json格式,读取方便,增强了系统的稳定性,进一步提升了项目开发效率。

本发明进一步设置为:所述soa接口和dsf接口共用service层和repository层。

通过采用上述技术方案,能够节省系统资源,降低系统负荷。

本发明进一步设置为:所述权限管理模块内还存储有:

部门表,其通过项目id与项目表中的项目关联且包含部门名称信息和部门负责人信息;

员工与部门对应关系表,其用于将员工id号与部门表中的部门关联;

所述统一登录系统还包括人事系统模块,所述dsf接口包括:

第一接口,其用于供所述人事系统模块调用并更新员工表中的信息;

第二接口,其用于供所述人事系统模块调用并更新部门表中的信息;

第三接口,其用于供所述权限验证模块调用并根据请求的项目帐号信息和员工id号返回对应资源的数据;

第四接口,其用于供所述权限验证模块调用并根据请求的项目帐号信息和员工id号返回对应员工的信息;

第五接口,其用于供所述权限验证模块调用并根据请求的项目帐号信息返回对应所有部门的信息;

第六接口,其用于供所述权限验证模块调用并根据请求的项目帐号信息返回对应所有角色的信息;

第七接口,其用于供所述权限验证模块调用并根据请求的项目帐号信息和角色信息返回对应员工的信息;

第八接口,其用于供所述权限验证模块调用并根据请求的项目帐号信息和员工id号返回对应角色的信息;

第九接口,其用于供所述权限验证模块调用并根据请求的项目帐号信息返回对应所有员工的信息。

通过采用上述技术方案,dsf接口为统一登录系统为新项目设置的分布式微服务接口,其稳定性、扩展性、安全性都比soa接口好。

综上所述,本发明的有益技术效果为:

1.通过后台模块、权限验证模块和对外接口模块的设置,具有项目开发效率高且安全性佳的效果;

2.通过权限管理模块和系统权限模块的设置,具有方便为员工配置资源权限和后台系统权限的效果;

3.通过soa接口和dsf接口的设置,具有能够增加数据读取速度、增强系统稳定性的作用。

附图说明

图1是本发明实施例示出的统一登录系统的整体结构示意图;

图2是本发明实施例示出的数据库的结构示意图;

图3是本发明实施例示出的后台模块的结构示意图;

图4是本发明实施例示出的对外接口模块的结构示意图;

图5是本发明实施例示出的dsf接口的结构示意图。

图中,10、后台模块;11、登录单元;12、项目资源权限配置单元;13、项目信息维护单元;14、密码管理单元;15、用户管理单元;16、日志管理单元;20、权限验证模块;30、对外接口模块;40、数据库;41、权限管理模块;42、系统权限模块;50、soa接口;60、dsf接口;61、第一接口;62、第二接口;63、第三接口;64、第四接口;65、第五接口;66、第六接口;67、第七接口;68、第八接口;69、第九接口;70、人事系统模块。

具体实施方式

以下结合附图对本发明作进一步详细说明。

实施例

参照图1,为本发明公开的一种统一登录系统,其包括后台模块10、权限验证模块20、对外接口模块30、数据库40和人事系统模块70。后台模块10用于配置多个角色信息和为各个角色配置资源权限(即每个角色均对应有访问资源的权限数据),后台模块10配置的角色信息和权限数据均存储于数据库40中,应当注意的是,数据库40还用于存储与对应项目绑定的资源信息。

参照图1,权限验证模块20用于在员工登录统一登录系统后,调用对外接口模块30并向对外接口模块30提供对应的员工id号,需要说明的是,员工id号与角色信息相关联。对外接口模块30用于根据员工所关联的角色读取数据库40中对应的权限数据,并返回该权限数据给权限验证模块20。权限验证模块20在接收到对应的权限数据后,会判断对应员工的权限,并根据该员工的权限为该员工呈现对应的项目选项,项目选项用于供员工选择并进入对应项目。当员工访问某项目或某项目内的子页面时,若该员工具有相应的访问权限,权限验证模块20则调用对外接口模块30向该员工配置对应的资源;若该员工不具有访问权限,则拒绝员工访问。

具体地,在本实施例中,资源采用树状图形式呈现,资源信息主要包括资源id、英文名称、中文名称、显示顺序、地址、类型、父级资源节点id、备注等,数据库40中每个资源都有一个id及父级资源id,根资源节点的父级id为0。资源呈现时,先找根资源节点,再以根资源节点id为依据查找下级资源,递归直至查找到所有叶子资源节点,以此方式形成完整的树状图。其中,资源信息中的地址用于判断用户是否可以访问此资源,若用户访问某页面且用户所拥有的权限中含有此地址,即可访问;若用户所拥有的权限中不含有此地址,则拒绝访问。

参照图2,数据库40包括权限管理模块41,权限管理模块41内存储有员工表、项目表、资源表、角色表、资源与角色对应关系表、员工与角色对应关系表、组表、员工与组对应关系表和角色与组对应关系表。其中,员工表包含员工id号、所属部门信息、姓名信息、身份证信息等;项目表包含项目id号、项目帐号信息、项目负责人信息、项目密码信息等;资源表(即权限点)通过项目id号与项目表中的项目关联;角色表通过项目id号与项目表中的项目关联;资源与角色对应关系表用于将资源表中的资源与角色表中的角色关联;员工与角色对应关系表用于将员工id号与角色表中的角色关联;组表通过项目id号与项目表中的项目关联,员工与组对应关系表用于将员工id号与组表中的组关联;角色与组对应关系表用于将角色表中的角色与组表中的组关联。

具体地,角色作为一个中间连接产物,能连接员工和资源的关系,极大的解耦了员工与资源的关系,当员工选择某项目访问时,能够快速访问到其具有权限的资源。另外,组作为角色的升级产物,解耦了角色与员工的对应关系,使权限分配更加灵活,若权限复杂,角色多,可使用组作为资源跟员工连接的媒介,若权限相对简单,可直接使用角色。

参照图2,数据库40还包括系统权限模块42,系统权限模块42用于为员工配置后台系统权限(即操作权限),并具有增加、删除、查找和修改员工的后台系统权限的功能。系统权限模块42内存储有系统角色表、系统角色与资源对应关系表、员工与系统角色对应关系表。系统角色表通过项目id号与项目表中的项目关联;系统角色与资源对应关系表用于将系统角色表中的系统角色与资源表中的资源关联;员工与系统角色对应关系表用于将员工id号与系统角色表中的系统角色关联。具体地,以员工a和员工b为例,可为员工a配置在项目s1中有修改相应资源的权限,在项目s2中有修改项目s2员工的权限的权限;可为员工b在项目s1中配置为无任何操作权限,在项目s2中有修改全部资源权限数据的权限。应注意,本领域技术人员可以理解,同一个页面,对不同员工也可能会有不同的操作权限,如修改、查看和删除,所以可通过系统权限模块42为员工单独设置操作权限,从而针对不同的员工配置不同的操作权限,对于每个员工的操作权限,本申请不作具体限定。

参照图3,后台模块10包括登录单元11、项目资源权限配置单元12、项目信息维护单元13和密码管理单元14,员工包括管理员和普通员工。登录单元11用于供管理员使用项目帐号和项目密码登录统一登录系统,管理员登录后,可以修改对应项目的所有资源权限数据。应注意的是,本领域技术人员可以理解,管理员登录也可以设置为采用与管理员对应的员工id号和密码进行登录。登录单元11还用于供普通员工使用员工id号和密码选择对应项目登录统一登录系统,员工登录后,其操作权限为系统权限模块42(参照图2)所配置的操作权限。

参照图2和图3,项目资源权限配置单元12用于供管理员登录后维护资源表、角色表、资源与角色对应关系表和员工与角色对应关系表中与其负责项目所对应的相关信息,维护即为管理员可以增加、删除、查找或修改相应的信息,应当注意的是,若系统权限模块42为员工配置了操作权限,则该员工也可以增加、删除、查找或修改相应的信息。项目资源权限配置单元12还用于维护组表、员工与组对应关系表和角色与组对应关系表,以及用于维护系统角色表、系统角色与资源对应关系表和员工与系统角色对应关系表,这里的维护也为管理员或被配置了操作权限的员工对相应表中的相应信息进行增加、删除、查找或修改操作。

参照图3,项目信息维护单元13用于供管理员登录后维护对应项目的信息,具体地,项目的信息包括项目名称、项目负责人、部门主管和地址信息等,应当注意的是,这里的维护为管理员或被配置了操作权限的员工对相应项目的信息进行增加、删除、查找或修改操作。需要说明的是,上述的管理员为项目管理员,统一登录系统还配置有超级管理员,超级管理员登录后可维护所有系统信息,既可以增加、删除、查找或修改所有的系统信息,其中也包括维护项目表中的信息。密码管理单元14用于供管理员(即项目管理员)登录后直接修改相应项目帐号所对应的密码,并用于供普通员工登录并提供指定信息后方可修改或重置相应员工id号所对应的密码。具体地,普通员工修改密码时,其需要提供的指定信息为当前密码和工号信息;普通员工重置、锁定或解锁密码时,其需要提供的指定信息均为身份证信息和工号信息。

参照图3,后台模块10还包括用户管理单元15,用户管理单元15用于创建包含临时员工id号的临时员工信息表并将临时员工信息表存储于数据库40中,用以满足兼职人员及其他相关非正式员工使用公司项目。数据库40内还存储有临时员工与角色对应关系表和临时员工与组对应关系表。临时员工与角色对应关系表用于将临时员工id号与角色表中的角色关联;临时员工与组对应关系表用于将临时员工id号与组表中的组关联。

参照图3,后台模块10还包括日志管理单元16,日志管理单元16用于供员工登录后查看项目权限修改记录。具体地,日志包括操作日志(其包括项目权限修改记录)、异动日志和接口调用日志。应当注意的是,在本实施例中,日志只可查看,不可以增加、删除、查找或修改。

参照图4,对外接口模块30还用于提取项目的一类特征信息和二类特征信息,对外接口模块30包括soa接口50和dsf接口60。soa接口50用于向员工配置对应的具有一类特征信息的项目的相应资源,dsf接口60用于向员工配置对应的具有二类特征信息的项目的相应资源。具体地,具有一类特征信息的项目为公司已完成的项目,具有二类特征信息的项目为公司未完成的项目。具体地,soa接口50以xml方式传输,dsf接口60以json方式传输,soa接口50和dsf接口60共用service层和repository层,其中,由于soa接口50因部分类与service层冲突,所以在soa接口50与service层中间加了个proxy层(即代理层),用于解耦。

参照图2和图5,权限管理模块41内还存储有部门表和员工与部门对应关系表,部门表通过项目id与项目表中的项目关联并包含部门名称信息、上级部门信息和部门负责人信息等,员工与部门对应关系表用于将员工id号与部门表中的部门关联。dsf接口60包括第一接口61、第二接口62、第三接口63、第四接口64、第五接口65、第六接口66、第七接口67、第八接口68和第九接口69。

其中,参照图1和图5,第一接口61为updateuser接口,其用于供人事系统模块70调用并更新员工表中的信息,员工表中的信息包括但不限于员工id号、所属部门信息、姓名信息、身份证信息。具体地,人事系统模块70调用updateuser接口向数据库40发送请求参数:人事系统账号信息和修改后的员工信息,并返回参数:更新成功或失败。

参照图1和图5,第二接口62为updatedept接口,其用于供人事系统模块70调用并更新部门表中的信息,部门表中的信息包括但不限于部门名称信息、上级部门信息和部门负责人信息。具体地,人事系统模块70调用updatedept接口向数据库40发送请求参数:人事系统账号信息、部门信息,并返回参数:更新成功或失败。

参照图1和图5,第三接口63为getmenulist接口,其用于供权限验证模块20调用并向数据库40发送请求参数:项目账号信息和员工id号,返回参数:员工所拥有的资源权限并返回对应资源的数据。具体地,员工id通过员工与角色对应关系表、员工与组对应关系表获取员工对应的角色及组,组通过角色与组对应关系表获取对应的角色,角色通过资源与角色对应关系表获取对应的资源,并返回数据。

参照图1和图5,第四接口64为searchuserinfo接口,其用于供权限验证模块20调用并向数据库40发送请求参数:项目帐号信息和员工id号,返回参数:员工的信息。具体地,员工id通过员工表获取对应员工的信息,并返回数据。

参照图1和图5,第五接口65为getdeptlist接口,其用于供权限验证模块20调用并向数据库40发送请求参数:项目帐号信息,返回参数:所有部门的信息。具体地,项目帐号信息通过部门表获取对应的全部部门信息,并返回数据。

参照图1和图5,第六接口66为getrolelist接口,其用于供权限验证模块20调用并向数据库40发送请求参数:项目帐号信息,返回参数:对应所有角色的信息。具体地,项目帐号信息通过角色表获取对应项目所有角色的信息,并返回数据。

参照图1和图5,第七接口67为getuserlistbyrole接口,其用于供权限验证模块20调用并向数据库40发送请求参数:项目帐号信息和角色信息,返回参数:对应员工的信息。具体地,项目帐号信息通过角色表获取项目对应的角色,结合输入参数的角色信息再通过员工与角色对应关系表获取角色对应的员工信息,并返回数据。

参照图1和图5,第八接口68为getrolesbyuserid接口,其用于供权限验证模块20调用并向数据库40发送请求参数:项目帐号信息和员工id号,返回参数:对应角色的信息。具体地,项目帐号信息通过角色表获取项目对应的角色,结合输入参数的员工id号再通过员工与角色对应关系表获取员工对应的角色信息,并返回数据。

参照图1和图5,第九接口69为getuserlist接口,其用于供权限验证模块20调用并向数据库40发送请求参数:项目帐号信息,返回参数:对应的所有员工的信息。具体地,项目帐号信息通过角色表获取项目对应的角色信息,通过获得的角色信息和员工与角色对应关系表获取角色对应的所有员工的信息,并返回数据。

上述实施例的实施原理为:

超级管理员维护项目表中的信息,包括项目id号、项目帐号信息、项目负责人信息、项目密码信息等,并存于数据库40。项目管理员登录系统后,即可维护对应项目的资源信息和角色信息并存于数据库40(即配置员工的资源权限),这样员工就可以通过角色或组与对应项目的资源产生对应关系,同时耦合度不大。资源信息主要包括资源id、英文名称、中文名称、显示顺序、地址、类型、父级资源节点id、备注,角色信息主要包括角色名称、角色与员工的对应关系、角色与资源的对应关系、组名称、组与员工的对应关系、角色与组的对应关系。

员工登录统一登录系统时,权限验证模块20调用对外接口模块30并向对外接口模块30提供对应的员工id号,对外接口模块30根据员工id号所关联的角色信息读取数据库40中对应的权限数据并返回该权限数据给权限验证模块20,权限验证模块20根据返回的权限数据判断该员工的权限,并根据员工的权限为员工呈现对应的项目选项。当员工访问某项目或某项目内的子页面时,若该员工具有相应的访问权限,权限验证模块20则调用对外接口模块30向该员工配置对应的资源;若该员工不具有访问权限,则拒绝员工访问。

项目管理员或超级管理员可通过项目资源权限配置单元12维护系统角色、系统角色与资源的对应关系和员工与系统角色的对应关系,从而为其他员工配置后台系统权限(即操作权限)。配置完成后,相应的员工也可维护项目相关权限数据。

本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1