CN106384057B - 数据访问权限识别方法和装置 - Google Patents
数据访问权限识别方法和装置 Download PDFInfo
- Publication number
- CN106384057B CN106384057B CN201610270059.1A CN201610270059A CN106384057B CN 106384057 B CN106384057 B CN 106384057B CN 201610270059 A CN201610270059 A CN 201610270059A CN 106384057 B CN106384057 B CN 106384057B
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- access rights
- business personnel
- access
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种数据访问权限识别方法,所述方法包括以下步骤:获取业务员输入的登录名,判断所述登录名是否为可登录用户名;当判断为可登录用户名后,获取与所述登录名对应的访问权限级别;接收业务员的数据访问请求,检测所述数据访问请求中是否包含第一数据表,若是,则根据所述数据访问请求获取对应的第一数据表,判断所述业务员的访问权限级别是否达到访问所述第一数据表所需要的访问权限,若是,则仅展示所述第一数据表中的所述业务员具备访问权限的数据。上述方法使得可将多个数据存储在同一张数据表中,节省存储空间,降低资源的占用,同时还使得对数据的管理更加方便。此外,还对应提供了一种数据访问权限识别装置。
Description
技术领域
本发明涉及计算机网络技术领域,特别是涉及一种数据访问权限识别方法和装置。
背景技术
一般的,数据都是存储在数据表中,并对该表设置访问权限。当面对具有非常大量的数据的情况时,为了便于对数据的管理和维护,通常一张数据表中也会相应存储大量的数据。当业务员需要调用数据表内的数据时,需要判断该业务员是否具备访问权限,若判断具备访问权限,则允许该业务员访问数据表中所存储的所有数据。
然而,同一张数据表中会存在着部分数据是不允许业务员访问的情形。此时,若为业务员设置允许访问的权限,则业务员会访问到其不具备访问权限的数据,造成数据的泄露。因此,为了保证数据的安全性,通常都是需要对可划分到同一张数据表中的数据根据业务员的访问权限被拆分成多张数据表。当具有海量的数据需要处理时,其拆分的数据表也众多。因此,传统的方法增加了数据存储冗余,占用了大量的存储资源。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低资源占用的数据访问权限识别方法和装置。
一种数据访问权限识别方法,所述方法包括以下步骤:获取业务员输入的登录名,判断所述登录名是否为可登录用户名;当判断为可登录用户名后,获取与所述登录名对应的访问权限级别;接收业务员的数据访问请求,检测所述数据访问请求中是否包含第一数据表,若是,则根据所述数据访问请求获取对应的第一数据表,判断所述业务员的访问权限级别是否达到访问所述第一数据表所需要的访问权限,若是,则仅展示所述第一数据表中的所述业务员具备访问权限的数据。
在其中一个实施例中,所述方法还包括:获取与所述第一数据表关联的第二数据表,判断所述业务员的访问权限级别是否达到访问所述第二数据表所需要的访问权限,若是,则展示所述第二数据表中的所述业务员具备访问权限的数据。
在其中一个实施例中,所述业务员输入的登录名为密文;所述判断所述登录名是否为可登录用户名的步骤,包括:按照与所述密文对应解密方法对所述登录名进行解密,判断解密后的登录名是否包含在可登录名数据库中。
在其中一个实施例中,所述根据所述数据访问请求获取对应的第一数据表的步骤,包括:根据所述数据访问请求生成对应的指令语句;检测所述指令语句中是否包含预设的第一关键字与第二关键字,若是,则获取所述第一关键字与第二关键字之间的信息;提取所述第一关键字与第二关键字之间的信息中包含的所有第一数据表的表名。
在其中一个实施例中,所述判断所述业务员的访问权限级别是否达到访问所述第一数据表所需要的访问权限的步骤,包括:根据所有第一数据表的表名生成表列表;获取需要调用权限的数据表的权限汇总表;查找所述表列表中的每个表名是否存在于权限汇总表中;对于不存在权限汇总表中的表名,判断所述业务员具备访问所述不存在权限汇总表中的表名对应的第一数据表的访问权限;对于存在权限汇总表中的表名,则进一步判断所述业务员的访问权限级别是否达到访问所述存在权限汇总表中的表名所对应的第一数据表的访问权限。
一种数据访问权限识别装置,所述装置包括:登录名获取模块,用于获取业务员输入的登录名,判断所述登录名是否为可登录用户名;当判断为可登录用户名后,获取与所述登录名对应的访问权限级别;第一数据表检测模块,用于接收业务员的数据访问请求,检测所述数据访问请求中是否包含第一数据表;第一数据表获取模块,用于当所述数据访问请求中包含第一数据表时,根据所述数据访问请求获取对应的第一数据表;访问权限判断模块,用于判断所述业务员的访问权限级别是否达到访问所述第一数据表所需要的访问权限;展示模块,用于当所述业务员的访问权限级别达到访问所述第一数据表所需要的访问权限时,仅展示所述第一数据表中的所述业务员具备访问权限的数据。
在其中一个实施例中,所述装置还包括:第二数据表获取模块,用于获取与所述第一数据表关联的第二数据表;所述访问权限判断模块还用于判断所述业务员的访问权限级别是否达到访问所述第二数据表所需要的访问权限;所述展示模块还用于当所述业务员的访问权限级别达到访问所述第二数据表所需要的访问权限时,仅展示所述第二数据表中的所述业务员具备访问权限的数据。
在其中一个实施例中,所述业务员输入的登录名为密文;所述登录名获取模块还用于按照与所述密文对应解密装置对所述登录名进行解密,判断解密后的登录名是否包含在可登录名数据库中。
在其中一个实施例中,所述第一数据表获取模块包括:指令语句生成单元,用于根据所述数据访问请求生成对应的指令语句;关键字检测单元,用于检测所述指令语句中是否包含预设的第一关键字与第二关键字,若是,则获取所述第一关键字与第二关键字之间的信息;表名提取单元,用于提取所述第一关键字与第二关键字之间的信息中包含的所有第一数据表的表名。
在其中一个实施例中,所述访问权限判断模块包括:表列表生成单元,用于根据所有第一数据表的表名生成表列表;权限汇总表获取单元,用于获取需要调用权限的数据表的权限汇总表;查找单元,用于查找所述表列表中的每个表名是否存在于权限汇总表中;访问权限判断单元,用于对于不存在权限汇总表中的表名,判断所述业务员具备访问所述不存在权限汇总表中的表名对应的第一数据表的访问权限;对于存在权限汇总表中的表名,则进一步判断所述业务员的访问权限级别是否达到访问所述存在权限汇总表中的表名所对应的第一数据表的访问权限。
上述数据访问权限识别方法和装置,通过判断业务员是否具备访问第一数据表的权限,若是,则仅展示第一数据表中的业务员具备访问权限的数据,而对于该第一数据表中业务员不具备访问权限的数据则不展示,使得可将多个数据存储在同一张数据表中,而无需拆分存储到多个数据表,在保证数据的安全性的同时,还可节省存储空间,降低资源的占用,同时还使得对数据的管理更加方便。
附图说明
图1为一个实施例中数据访问权限识别方法的流程示意图;
图2为一个实施例中数据访问请求获取对应的第一数据表的步骤的流程图;
图3为一个实施例中判断业务员的访问权限级别是否达到访问第一数据表所需要的访问权限的步骤的流程图;
图4为一个实施例中数据访问权限识别装置的结构示意图;
图5为另一个实施例中数据访问权限识别装置的结构示意图;
图6为一个实施例中第一数据表获取模块的结构示意图;
图7为一个实施例中访问权限判断模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在一个实施例中,如图1所示,提供了一种数据访问权限识别方法,该方法包括下述步骤102~112。
步骤102,获取业务员输入的登录名。
本实施例中,登录名是服务器为业务员预先创建的登录名。该登录名可由预定位数的包括数字、字母、标点符号以及特殊字符等其中的一种或多种构成。服务器可预先建立一个登录名数据库,将所创建的登录名均存储到该登录名数据库中,每个登录名具有唯一可识别性。
服务器通过提供登录名输入窗口,当获取到业务员在该窗口的登录名后,则检测该登录名是否为可登录用户名。
步骤104,判断登录名是否为可登录用户名。若是,则执行步骤106,否则,执行步骤105,判断该登录名为无效登录名。
本实施例中,服务器可在该登录名数据库中查询该登录名,若在该登录名数据库中查询到对应的登录名,则判断该登录名为可登录用户名,并跳转到对应的登录成功的界面。若未在登录名数据库中查询到对应的登录名,则判断该登录名为无效登录名,可在登录界面展示所输入的登录名为无效登录名的提示信息。
本实施例中,业务员仅需输入登录名而无需业务员输入登录密码,当检测到该登录名为可登录用户名时,则可直接判断业务员登录成功,进而跳转到相应的登陆成功后的界面中。
在一个实施例中,业务员输入的登录名为密文。即业务员所输入的登录名为加密后的登录名,使得业务员无法在登录名输入界面上显示所输入的具体登录名。
对应的,判断登录名是否为可登录用户名的步骤,包括:按照与密文对应解密方法对登录名进行解密,判断解密后的登录名是否包含在可登录名数据库中。
进一步的,服务器可根据预设修改周期修改登录名。
本实施例中,服务器可定期对业务员的登录名进行修改,如可在每个月的1号对登录名进行修改。具体的,服务器可按照一定的修改规则对登录名进行修改,或者随机对登录名进行修改。将该修改后的登录名发送给对应的业务员。修改登录名后,旧的登录名即成为无效登录名。
本实施例中,服务器可按照所设置的密文的加密方法对应的解密方法来该登录名进行解密,并通过判断解密后的登录名是否存在于登录名数据库中来判断该输入的登录名是否为可登录用户名。若是,则执行步骤106,否则,判断该登录名为无效登录名。
步骤106,接收业务员的数据访问请求,检测数据访问请求中是否包含第一数据表。若是,则执行步骤108,否则,执行步骤107,响应业务员的数据访问请求。
本实施例中,服务器可自动设置一个状态值,根据状态值的数值状态来决定是否响应用户的数据访问请求。即若该状态值的数值为默认值(比如为0),则执行相应的数据访问请求指令,调用相关的数据进行展示或计算等操作;若状态值的数值为非默认值(比如为1),则说明业务员所发送的数据访问请求需确认业务员是否具备访问权限。
服务器可根据业务员的操作生成对应的指令语句。具体的,可生成相应的SparkSQL(Structured Query Language,结构化查询语言)语句,所生成的Spark SQL语句中还携带对应的用户名,并存储该Spark SQL语句,以记录业务员的所有操作。
进一步的,服务器对所生成的Spark SQL语句进行解析,当该数据访问请求中携带访问第一数据表的信息时,所生成的Spark SQL语句中对应会携带第一数据表的信息。当服务器解析出携带了第一数据表的信息,则使该状态值的数值变为非默认值,此时,服务器可提取该数据访问请求中所携带的第一数据表的信息。具体的,每个数据表对应具有一个表名,该第一数据表的信息可为该数据表的表名,通过该表名可查询到对应的第一数据表中所包含的具体数据内容。当该访问请求中包含多个第一数据表时,则提取每个第一数据表的表名。
步骤108,根据数据访问请求获取对应的第一数据表,判断业务员的访问权限级别是否达到访问第一数据表所需要的访问权限。若是,则执行步骤110,否则,执行步骤112。
本实施例中,第一数据表可分为不需要访问权限才可访问的第一数据表以及需要相应的访问权限级别才可访问的第一数据表。服务器可为每个可登陆用户名设置对应的访问权限级别,比如可设置访问权限级别从低到高分别设置为一级、二级和三级等。并根据不同第一数据表中所记录的数据的内容情况为对应的第一数据表设置对应不同的权限级别,如也可对应按照从低到高分别设置为一级、二级和三级等。将可登陆用户名的访问权限级别与第一数据表的权限级别建立对应关系,使得当业务员的访问权限级别与第一数据表的权限级别相匹配时,可允许访问第一数据表中的部分或所有数据。当业务员的访问权限级别高于第一数据表的权限级别时,可允许访问第一数据表中的所有数据。当业务员的访问权限级别低于第一数据表的权限级别时,则不允许访问第一数据表中的所有数据。
进一步的,服务器可针对第一数据表中的数据进行进一步分类,并为每一类数据分别设置对应级别可访问的具体业务员,使得当对应业务员在访问该第一数据表时,仅展示其可访问的对应类别的数据。
具体的,服务器检测该生成的Spark SQL语句中的用户名来获取该业务员的访问权限级别,并获取对应解析出的第一数据表的权限级别,并判断业务员是否具备访问该第一数据表的权限。
对于当业务员的访问权限级别与第一数据表的权限级别相匹配时,则进一步检测该第一数据表中查询业务员可访问的数据,并在操作界面上展示出该第一数据表中业务员可访问的具体数据,将其拼接到需要进行操作的工作表中。对于其不具备访问的数据,则将其隐藏,不做展示或拼接。
对于业务员的访问权限级别高于第一数据表的权限级别时,则直接展示该第一数据表中的所有数据,将该所有数据拼接到需要进行操作的工作表中。对于业务员的访问权限级别低于第一数据表的权限级别时,则拒绝业务员对该第一数据表的访问请求。
步骤110,仅展示第一数据表中的业务员具备调用权限的数据。
步骤112,拒绝业务员的数据访问请求。
本实施例所提供的数据访问权限识别方法,通过对每个第一数据表中的数据进行分类,并对第一数据表进行访问权限设置以及对第一数据表中的每类数据设置该级别的可访问的业务员,使得可将多个数据存储在同一张数据表中,而无需拆分存储到多个数据表,在保证数据的安全性的同时,还可节省存储空间,降低资源的占用,同时还使得对数据的管理更加方便。
在一个实施例中,上述数据访问权限识别方法还包括:获取与第一数据表关联的第二数据表,判断业务员的访问权限级别是否达到访问第二数据表所需要的访问权限;若是,则仅展示第二数据表中的业务员具备访问权限的数据。
与第一数据表相同,第二数据表同样可分为不需要访问权限才可访问的第二数据表以及需要相应的访问权限级别才可访问的第二数据表。服务器可为每个可登陆用户名设置对应的访问权限级别,比如可设置访问权限级别从低到高分别设置为一级、二级和三级等。并根据不同第二数据表中所记录的数据的内容情况为对应的第二数据表设置对应不同的权限级别,如也可对应按照从低到高分别设置为一级、二级和三级等。将可登陆用户名的访问权限级别与第二数据表的权限级别建立对应关系,使得当业务员的访问权限级别与第二数据表的权限级别相匹配时,可允许访问第二数据表中的部分或所有数据。当业务员的访问权限级别高于第二数据表的权限级别时,可允许访问第二数据表中的所有数据。当业务员的访问权限级别低于第二数据表的权限级别时,则不允许访问第二数据表中的所有数据。
进一步的,服务器可针对第二数据表中的数据进行进一步分类,并为每一类数据分别设置对应级别可访问的具体业务员,使得当对应业务员在访问该第二数据表时,仅展示其可访问的对应类别的数据。
本实施例中,由于有些数据表中的数据是相互关联,且该相互关联的数据可能存在与不同的数据表中。服务器可将具有关联性的数据之间建立关联标识,将处于不同的数据表中的数据关联起来。
当服务器展示了第一数据表中的业务员具备访问权限的数据后,可检测是否存在与该数据相互关联的第二数据表中的数据,若存在,则获取对应的第一数据表,展示第一数据表中的业务员具备访问权限的数据。
本实施例中,通过进一步检测与所展示的第一数据表中的数据相关联的第二数据表,并相应展示该第二数据表中的业务员具备访问权限的数据,可进一步方便业务员进行数据的访问与处理。
在一个实施例中,如图2所示,根据数据访问请求获取对应的第一数据表的步骤,包括:
步骤202,根据数据访问请求生成对应的指令语句。
步骤204,检测指令语句中是否包含预设的第一关键字与第二关键字。若是,则执行步骤206,否则,执行步骤205,判断无需获取第一数据表。
步骤206,获取第一关键字与第二关键字之间的信息。
步骤208,提取第一关键字与第二关键字之间的信息中包含的所有第一数据表的表名。
本实施例中,第一关键字和第二关键字为所生成的指令语句中用于访问第一数据表时所需要使用的必要指令语句,所需要访问的第一数据表的表名即夹在该第一关键字和第二关键字之间。
举例来说,当服务武器根据用户的数据访问请求操作所对应生成的指令语句为join(XXX;XXX),则可将“join(”作为第一关键字,将该第一关键字后出现的“)”作为第二关键字,而所需访问的第一数据表的信息即在上述的括号对“()”之中。且该第一数据表可能存在多个,因此,服务器可提取第一关键字与第二关键字之间的信息中包含的所有第一数据表的表名。
本实施例中,服务器通过设置第一关键字和第二关键字来获取第一数据表的表名,使得对于第一数据表的获取更加快捷准确。
在一个实施例中,如图3所示,判断业务员的访问权限级别是否达到访问第一数据表所需要的访问权限的步骤,包括:
步骤302,根据所有第一数据表的表名生成表列表。
服务器可根据所获取到的所有的第一数据表的表名生成表列表。该表列表中记录了业务员请求访问的所有的第一数据表。
步骤304,获取需要调用权限的数据表的权限汇总表。
本实施例中,服务器预先建立了权限汇总表,该权限汇总表中存储了每个需要访问权限的数据表的表名,并记录了对应数据表所需的访问权限级别。进一步的,还可记录与该数据表相匹配的访问权限级别中可访问的业务员名。
步骤306,查找表列表中的每个表名是否存在于权限汇总表中。若是,则执行步骤310,否则,执行步骤308。
步骤308,判断业务员具备访问不存在权限汇总表中的表名对应的第一数据表的访问权限。
对于未在权限汇总表中查找到的相应表名的第一数据表,则说明该第一数据表不需要调用权限,即该业务员具备访问该第一数据表中的所有数据。
步骤310,进一步判断业务员的访问权限级别是否达到访问存在权限汇总表中的表名所对应的第一数据表的访问权限。
对于在在权限汇总表中查找到的相应表名的第一数据表,则说明该第一数据表需要调用权限,此时,服务器可从该权限汇总表中进一步获取该第一数据表所需的访问权限级别,并判断业务员的访问权限级别是否达到访问第一数据表所需要的访问权限。
对于当业务员的访问权限级别与第一数据表的权限级别相匹配时,则进一步检测该第一数据表中查询业务员可访问的数据,并在操作界面上展示出该第一数据表中业务员可访问的具体数据,将其拼接到需要进行操作的工作表中。对于其不具备访问的数据,则将其隐藏,不做展示或拼接。
对于业务员的访问权限级别高于第一数据表的权限级别时,则直接展示该第一数据表中的所有数据,将该所有数据拼接到需要进行操作的工作表中。对于业务员的访问权限级别低于第一数据表的权限级别时,则拒绝业务员对该第一数据表的访问请求。
本实施例中,通过根据生成的表列表和设置的权限汇总表来判断用户是否具备访问权限,尤其是当存在多个需要访问的第一数据表时,可更加快速地判断出用户是否具备访问权限,从而提高了执行效率。
在一个实施例中,如图4所示,提供了一种数据访问权限识别装置,该装置包括:
登录名获取模块402,用于获取业务员输入的登录名,判断登录名是否为可登录用户名;当判断为可登录用户名后,获取与登录名对应的访问权限级别。
本实施例中,登录名是服务器为业务员预先创建的登录名。该登录名可由预定位数的包括数字、字母、标点符号以及特殊字符等其中的一种或多种构成。服务器可预先建立一个登录名数据库,将所创建的登录名均存储到该登录名数据库中,每个登录名具有唯一可识别性。
服务器通过提供登录名输入窗口,当获取到业务员在该窗口的登录名后,则检测该登录名是否为可登录用户名。
本实施例中,服务器可在该登录名数据库中查询该登录名,若在该登录名数据库中查询到对应的登录名,则判断该登录名为可登录用户名,并跳转到对应的登录成功的界面。若未在登录名数据库中查询到对应的登录名,则判断该登录名为无效登录名,可在登录界面展示所输入的登录名为无效登录名的提示信息。
本实施例中,业务员仅需输入登录名而无需业务员输入登录密码,当检测到该登录名为可登录用户名时,则可直接判断业务员登录成功,进而跳转到相应的登陆成功后的界面中。
在一个实施例中,业务员输入的登录名为密文。即业务员所输入的登录名为加密后的登录名,使得业务员无法在登录名输入界面上显示所输入的具体登录名。
对应的,登录名获取模块402还用于按照与密文对应解密装置对登录名进行解密,判断解密后的登录名是否包含在可登录名数据库中。
进一步的,服务器可根据预设修改周期修改登录名。
本实施例中,服务器可定期对业务员的登录名进行修改,如可在每个月的1号对登录名进行修改。具体的,服务器可按照一定的修改规则对登录名进行修改,或者随机对登录名进行修改。将该修改后的登录名发送给对应的业务员。修改登录名后,旧的登录名即成为无效登录名。
本实施例中,服务器可按照所设置的密文的加密方法对应的解密方法来该登录名进行解密,并通过判断解密后的登录名是否存在于登录名数据库中来判断该输入的登录名是否为可登录用户名。若是,则将该登录名为可登录用户名的信息发送给第一数据表检测模块404,使得第一数据表检测模块404接收业务员的数据访问请求,检测数据访问请求中是否包含第一数据表。否则,判断该登录名为无效登录名。
第一数据表检测模块404,用于接收业务员的数据访问请求,检测数据访问请求中是否包含第一数据表。
本实施例中,服务器可自动设置一个状态值,根据状态值的数值状态来决定是否响应用户的数据访问请求。即若该状态值的数值为默认值(比如为0),则执行相应的数据访问请求指令,调用相关的数据进行展示或计算等操作;若状态值的数值为非默认值(比如为1),则说明业务员所发送的数据访问请求需确认业务员是否具备访问权限。
服务器可根据业务员的操作生成对应的指令语句。具体的,可生成相应的SparkSQL(Structured Query Language,结构化查询语言)语句,所生成的Spark SQL语句中还携带对应的用户名,并存储该Spark SQL语句,以记录业务员的所有操作。
进一步的,服务器对所生成的Spark SQL语句进行解析,当该数据访问请求中携带访问第一数据表的信息时,所生成的Spark SQL语句中对应会携带第一数据表的信息。当服务器解析出携带了第一数据表的信息,则使该状态值的数值变为非默认值,此时,服务器可提取该数据访问请求中所携带的第一数据表的信息。具体的,每个数据表对应具有一个表名,该第一数据表的信息可为该数据表的表名,通过该表名可查询到对应的第一数据表中所包含的具体数据内容提取该访问请求中所包含的所有第一数据表的表名。当该访问请求中包含多个第一数据表时,则提取每个第一数据表的表名。
第一数据表获取模块406,用于当数据访问请求中包含第一数据表时,根据数据访问请求获取对应的第一数据表。
访问权限判断模块408,用于判断业务员的访问权限级别是否达到访问第一数据表所需要的访问权限。
展示模块410,用于当业务员的访问权限级别达到访问第一数据表所需要的访问权限时,仅展示第一数据表中的业务员具备访问权限的数据。
本实施例中,第一数据表可分为不需要访问权限才可访问的第一数据表以及需要相应的访问权限级别才可访问的第一数据表。服务器可为每个可登陆用户名设置对应的访问权限级别,比如可设置访问权限级别从低到高分别设置为一级、二级和三级等。并根据不同第一数据表中所记录的数据的内容情况为对应的第一数据表设置对应不同的权限级别,如也可对应按照从低到高分别设置为一级、二级和三级等。将可登陆用户名的访问权限级别与第一数据表的权限级别建立对应关系,使得当业务员的访问权限级别与第一数据表的权限级别相匹配时,可允许访问第一数据表中的部分或所有数据。当业务员的访问权限级别高于第一数据表的权限级别时,可允许访问第一数据表中的所有数据。当业务员的访问权限级别低于第一数据表的权限级别时,则不允许访问第一数据表中的所有数据。
进一步的,服务器可针对第一数据表中的数据进行进一步分类,并为每一类数据分别设置对应级别可访问的具体业务员,使得当对应业务员在访问该第一数据表时,仅展示其可访问的对应类别的数据。
具体的,服务器检测该生成的Spark SQL语句中的用户名来获取该业务员的访问权限级别,并获取对应解析出的第一数据表的权限级别,并判断业务员是否具备访问该第一数据表的权限。
对于当业务员的访问权限级别与第一数据表的权限级别相匹配时,则进一步检测该第一数据表中查询业务员可访问的数据,并在操作界面上展示出该第一数据表中业务员可访问的具体数据,将其拼接到需要进行操作的工作表中。对于其不具备访问的数据,则将其隐藏,不做展示或拼接。
对于业务员的访问权限级别高于第一数据表的权限级别时,则直接展示该第一数据表中的所有数据,将该所有数据拼接到需要进行操作的工作表中。对于业务员的访问权限级别低于第一数据表的权限级别时,则拒绝业务员对该第一数据表的访问请求。
本实施例所提供的数据访问权限识别装置,通过对每个第一数据表中的数据进行分类,并对第一数据表进行访问权限设置以及对第一数据表中的每类数据设置该级别的可访问的业务员,使得可将多个数据存储在同一张数据表中,而无需拆分存储到多个数据表,在保证数据的安全性的同时,还可节省存储空间,降低资源的占用,同时还使得对数据的管理更加方便。
在一个实施例中,如图5所示,提供了另一种数据访问权限识别装置,该装置还包括:
第二数据表获取模块412,用于获取与第一数据表关联的第二数据表。
访问权限判断模块408还用于判断业务员的访问权限级别是否达到访问第二数据表所需要的访问权限。
展示模块410还用于当业务员的访问权限级别达到访问第二数据表所需要的访问权限时,仅展示第二数据表中的业务员具备访问权限的数据。
与第一数据表相同,第二数据表同样可分为不需要访问权限才可访问的第二数据表以及需要相应的访问权限级别才可访问的第二数据表。服务器可为每个可登陆用户名设置对应的访问权限级别,比如可设置访问权限级别从低到高分别设置为一级、二级和三级等。并根据不同第二数据表中所记录的数据的内容情况为对应的第二数据表设置对应不同的权限级别,如也可对应按照从低到高分别设置为一级、二级和三级等。将可登陆用户名的访问权限级别与第二数据表的权限级别建立对应关系,使得当业务员的访问权限级别与第二数据表的权限级别相匹配时,可允许访问第二数据表中的部分或所有数据。当业务员的访问权限级别高于第二数据表的权限级别时,可允许访问第二数据表中的所有数据。当业务员的访问权限级别低于第二数据表的权限级别时,则不允许访问第二数据表中的所有数据。
进一步的,服务器可针对第二数据表中的数据进行进一步分类,并为每一类数据分别设置对应级别可访问的具体业务员,使得当对应业务员在访问该第二数据表时,仅展示其可访问的对应类别的数据。
本实施例中,由于有些数据表中的数据是相互关联,且该相互关联的数据可能存在与不同的数据表中。服务器可将具有关联性的数据之间建立关联标识,将处于不同的数据表中的数据关联起来。
当服务器展示了第一数据表中的业务员具备访问权限的数据后,可检测是否存在与该数据相互关联的第二数据表中的数据,若存在,则获取对应的第一数据表,展示第一数据表中的业务员具备访问权限的数据。
本实施例中,通过进一步检测与所展示的第一数据表中的数据相关联的第二数据表,并相应展示该第二数据表中的业务员具备访问权限的数据,可进一步方便业务员进行数据的访问与处理。
在一个实施例中,如图6所示,第一数据表获取模块406包括:
指令语句生成单元602,用于根据数据访问请求生成对应的指令语句。
关键字检测单元604,用于检测指令语句中是否包含预设的第一关键字与第二关键字,若是,则获取第一关键字与第二关键字之间的信息。
表名提取单元606,用于提取第一关键字与第二关键字之间的信息中包含的所有第一数据表的表名。
本实施例中,第一关键字和第二关键字为所生成的指令语句中用于访问第一数据表时所需要使用的必要指令语句,所需要访问的第一数据表的表名即夹在该第一关键字和第二关键字之间。
举例来说,当服务武器根据用户的数据访问请求操作所对应生成的指令语句为join(XXX;XXX),则可将“join(”作为第一关键字,将该第一关键字后出现的“)”作为第二关键字,而所需访问的第一数据表的信息即在上述的括号对“()”之中。且该第一数据表可能存在多个,因此,服务器可提取第一关键字与第二关键字之间的信息中包含的所有第一数据表的表名。
本实施例中,服务器通过设置第一关键字和第二关键字来获取第一数据表的表名,使得对于第一数据表的获取更加快捷准确。
在一个实施例中,如图7所示,访问权限判断模块408包括:
表列表生成单元702,用于根据所有第一数据表的表名生成表列表。
服务器可根据所获取到的所有的第一数据表的表名生成表列表。该表列表中记录了业务员请求访问的所有的第一数据表。
权限汇总表获取单元704,用于获取需要调用权限的数据表的权限汇总表。
本实施例中,服务器预先建立了权限汇总表,该权限汇总表中存储了每个需要访问权限的数据表的表名,并记录了对应数据表所需的访问权限级别。进一步的,还可记录与该数据表相匹配的访问权限级别中可访问的业务员名。
查找单元706,用于查找表列表中的每个表名是否存在于权限汇总表中。
访问权限判断单元708,用于对于不存在权限汇总表中的表名,判断业务员具备访问不存在权限汇总表中的表名对应的第一数据表的访问权限;对于存在权限汇总表中的表名,则进一步判断业务员的访问权限级别是否达到访问存在权限汇总表中的表名所对应的第一数据表的访问权限。
对于未在权限汇总表中查找到的相应表名的第一数据表,则说明该第一数据表不需要调用权限,即该业务员具备访问该第一数据表中的所有数据。
对于在在权限汇总表中查找到的相应表名的第一数据表,则说明该第一数据表需要调用权限,此时,服务器可从该权限汇总表中进一步获取该第一数据表所需的访问权限级别,并判断业务员的访问权限级别是否达到访问第一数据表所需要的访问权限。
对于当业务员的访问权限级别与第一数据表的权限级别相匹配时,则进一步检测该第一数据表中查询业务员可访问的数据,并在操作界面上展示出该第一数据表中业务员可访问的具体数据,将其拼接到需要进行操作的工作表中。对于其不具备访问的数据,则将其隐藏,不做展示或拼接。
对于业务员的访问权限级别高于第一数据表的权限级别时,则直接展示该第一数据表中的所有数据,将该所有数据拼接到需要进行操作的工作表中。对于业务员的访问权限级别低于第一数据表的权限级别时,则拒绝业务员对该第一数据表的访问请求。
本实施例中,通过根据生成的表列表和设置的权限汇总表来判断用户是否具备访问权限,尤其是当存在多个需要访问的第一数据表时,可更加快速地判断出用户是否具备访问权限,从而提高了执行效率。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种数据访问权限识别方法,其特征在于,所述方法包括以下步骤:
获取业务员输入的登录名,判断所述登录名是否为可登录用户名;
当判断为可登录用户名后,获取与所述登录名对应的访问权限级别;
接收业务员的数据访问请求,检测所述数据访问请求中是否包含第一数据表,包括:根据所述数据访问请求生成对应的指令语句;检测所述指令语句中是否包含预设的第一关键字与第二关键字,若是,则获取所述第一关键字与第二关键字之间的信息;提取所述第一关键字与第二关键字之间的信息中包含的所有第一数据表的表名;
当包含第一数据表时,根据所述数据访问请求获取对应的第一数据表,判断所述业务员的访问权限级别是否达到访问所述第一数据表所需要的访问权限,若是,则
仅展示所述第一数据表中的所述业务员具备访问权限的数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取与所述第一数据表关联的第二数据表,判断所述业务员的访问权限级别是否达到访问所述第二数据表所需要的访问权限,若是,则展示所述第二数据表中的所述业务员具备访问权限的数据。
3.根据权利要求1所述的方法,其特征在于,所述业务员输入的登录名为密文;所述判断所述登录名是否为可登录用户名的步骤,包括:
按照与所述密文对应解密方法对所述登录名进行解密,判断解密后的登录名是否包含在可登录名数据库中。
4.根据权利要求1所述的方法,其特征在于,所述判断所述业务员的访问权限级别是否达到访问所述第一数据表所需要的访问权限的步骤,包括:
根据所有第一数据表的表名生成表列表;
获取需要调用权限的数据表的权限汇总表;
查找所述表列表中的每个表名是否存在于权限汇总表中;
对于不存在权限汇总表中的表名,判断所述业务员具备访问所述不存在权限汇总表中的表名对应的第一数据表的访问权限;
对于存在权限汇总表中的表名,则进一步判断所述业务员的访问权限级别是否达到访问所述存在权限汇总表中的表名所对应的第一数据表的访问权限。
5.一种数据访问权限识别装置,其特征在于,所述装置包括:
登录名获取模块,用于获取业务员输入的登录名,判断所述登录名是否为可登录用户名;当判断为可登录用户名后,获取与所述登录名对应的访问权限级别;
第一数据表检测模块,用于接收业务员的数据访问请求,检测所述数据访问请求中是否包含第一数据表;
第一数据表获取模块,用于当所述数据访问请求中包含第一数据表时,根据所述数据访问请求获取对应的第一数据表;
访问权限判断模块,用于判断所述业务员的访问权限级别是否达到访问所述第一数据表所需要的访问权限;
展示模块,用于当所述业务员的访问权限级别达到访问所述第一数据表所需要的访问权限时,仅展示所述第一数据表中的所述业务员具备访问权限的数据;
所述第一数据表获取模块包括:
指令语句生成单元,用于根据所述数据访问请求生成对应的指令语句;
关键字检测单元,用于检测所述指令语句中是否包含预设的第一关键字与第二关键字,若是,则获取所述第一关键字与第二关键字之间的信息;
表名提取单元,用于提取所述第一关键字与第二关键字之间的信息中包含的所有第一数据表的表名。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二数据表获取模块,用于获取与所述第一数据表关联的第二数据表;
所述访问权限判断模块还用于判断所述业务员的访问权限级别是否达到访问所述第二数据表所需要的访问权限;
所述展示模块还用于当所述业务员的访问权限级别达到访问所述第二数据表所需要的访问权限时,仅展示所述第二数据表中的所述业务员具备访问权限的数据。
7.根据权利要求5所述的装置,其特征在于,所述业务员输入的登录名为密文;所述登录名获取模块还用于按照与所述密文对应解密装置对所述登录名进行解密,判断解密后的登录名是否包含在可登录名数据库中。
8.根据权利要求5所述的装置,其特征在于,所述访问权限判断模块包括:
表列表生成单元,用于根据所有第一数据表的表名生成表列表;
权限汇总表获取单元,用于获取需要调用权限的数据表的权限汇总表;
查找单元,用于查找所述表列表中的每个表名是否存在于权限汇总表中;
访问权限判断单元,用于对于不存在权限汇总表中的表名,判断所述业务员具备访问所述不存在权限汇总表中的表名对应的第一数据表的访问权限;对于存在权限汇总表中的表名,则进一步判断所述业务员的访问权限级别是否达到访问所述存在权限汇总表中的表名所对应的第一数据表的访问权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610270059.1A CN106384057B (zh) | 2016-04-27 | 2016-04-27 | 数据访问权限识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610270059.1A CN106384057B (zh) | 2016-04-27 | 2016-04-27 | 数据访问权限识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106384057A CN106384057A (zh) | 2017-02-08 |
CN106384057B true CN106384057B (zh) | 2017-09-15 |
Family
ID=57916579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610270059.1A Active CN106384057B (zh) | 2016-04-27 | 2016-04-27 | 数据访问权限识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106384057B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107172007A (zh) * | 2017-03-28 | 2017-09-15 | 深圳市卓讯信息技术有限公司 | 一种多因素适配的集中授权管理方法及装置 |
CN107103228B (zh) * | 2017-04-22 | 2021-02-02 | 成都牵牛草信息技术有限公司 | 基于角色对用户的一对一的权限授权方法和系统 |
CN107480556A (zh) * | 2017-08-07 | 2017-12-15 | 成都牵牛草信息技术有限公司 | 基于列值对统计列表操作权限进行分别授权的方法 |
CN107545047B (zh) | 2017-08-17 | 2019-07-19 | 平安科技(深圳)有限公司 | 用户权限数据的查询方法及终端设备 |
CN109063439A (zh) * | 2018-08-17 | 2018-12-21 | 杭州数梦工场科技有限公司 | 一种用于Spark SQL的用户权限控制方法和系统 |
CN109840250B (zh) * | 2018-12-14 | 2024-02-13 | 平安科技(深圳)有限公司 | 中间字段的访问权限管理方法、装置、设备和存储介质 |
CN110096547A (zh) * | 2019-03-21 | 2019-08-06 | 深圳壹账通智能科技有限公司 | 供应数据的同步方法、装置、计算机设备及计算机存储介质 |
CN109992619A (zh) * | 2019-03-28 | 2019-07-09 | 杭州云毅网络科技有限公司 | 一种数据查询方法、系统、电子设备及存储介质 |
CN110059127B (zh) * | 2019-04-25 | 2022-03-22 | 北京字节跳动网络技术有限公司 | 一种支付工具信息的处理方法和处理系统 |
CN110472436A (zh) * | 2019-07-23 | 2019-11-19 | 浙江无极互联科技有限公司 | 一种计算机数据管理系统、方法及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387960A (zh) * | 2008-10-31 | 2009-03-18 | 金蝶软件(中国)有限公司 | 一种在系统集成中创建或更新用户登录信息的方法及系统 |
CN104463015A (zh) * | 2014-12-15 | 2015-03-25 | 浪潮通用软件有限公司 | 一种权限管理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402548B (zh) * | 2010-09-17 | 2013-10-23 | 金蝶软件(中国)有限公司 | 一种应用系统的数据查询控制方法及系统 |
CN102999607A (zh) * | 2012-11-21 | 2013-03-27 | 深圳市捷顺科技实业股份有限公司 | 一种数据存储方法、数据访问方法以及相关装置 |
CN105243335A (zh) * | 2015-09-30 | 2016-01-13 | 浪潮集团有限公司 | 一种权限管理方法及装置 |
-
2016
- 2016-04-27 CN CN201610270059.1A patent/CN106384057B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387960A (zh) * | 2008-10-31 | 2009-03-18 | 金蝶软件(中国)有限公司 | 一种在系统集成中创建或更新用户登录信息的方法及系统 |
CN104463015A (zh) * | 2014-12-15 | 2015-03-25 | 浪潮通用软件有限公司 | 一种权限管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106384057A (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106384057B (zh) | 数据访问权限识别方法和装置 | |
KR102514325B1 (ko) | 모델 훈련 시스템 및 방법과, 저장 매체 | |
CN105825138B (zh) | 一种敏感数据识别的方法和装置 | |
CN111209565B (zh) | 水平越权漏洞检测方法、设备及计算机可读存储介质 | |
US20060074902A1 (en) | Forming intent-based clusters and employing same by search | |
KR102355973B1 (ko) | 스미싱 메시지 판별장치 및 스미싱 메시지 판별방법 | |
US9021085B1 (en) | Method and system for web filtering | |
CN109101551B (zh) | 一种问答知识库的构建方法及装置 | |
JP4824750B2 (ja) | 機密情報管理プログラム、方法及び装置 | |
CN111767573A (zh) | 数据库安全管理方法、装置、电子设备及可读存储介质 | |
CN105426744A (zh) | 一种密码保护问题的设置方法和装置 | |
CN112131507A (zh) | 网站内容处理方法、装置、服务器和计算机可读存储介质 | |
CN113706176A (zh) | 一种结合云计算的信息反欺诈处理方法及服务平台系统 | |
CN112307052A (zh) | 一种数据管理方法、服务系统、终端及存储介质 | |
CN106126412A (zh) | 基于安卓api使用规范的代码质量自动评估优化方法 | |
US20120130980A1 (en) | System and method for searching network-accessible sites for leaked source code | |
KR100906454B1 (ko) | 데이터베이스 로그 정보 관리 장치 및 방법 | |
CN105718599A (zh) | 数据库访问数据包解析的方法及装置 | |
CN109101574A (zh) | 一种数据防泄漏系统的任务审批方法和系统 | |
CN110674383B (zh) | 舆情查询方法、装置及设备 | |
CN112016317A (zh) | 基于人工智能的敏感词识别方法、装置及计算机设备 | |
KR101221096B1 (ko) | 스팸 관리 장치 및 스팸 관리 방법 | |
CN109905359B (zh) | 通信消息处理方法、装置、计算机设备及可读存取介质 | |
US9521164B1 (en) | Computerized system and method for detecting fraudulent or malicious enterprises | |
JP2019200582A (ja) | 検索装置、検索方法及び検索プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |