CN106529324B - 一种用户身份切换方法及装置 - Google Patents

一种用户身份切换方法及装置 Download PDF

Info

Publication number
CN106529324B
CN106529324B CN201610807091.9A CN201610807091A CN106529324B CN 106529324 B CN106529324 B CN 106529324B CN 201610807091 A CN201610807091 A CN 201610807091A CN 106529324 B CN106529324 B CN 106529324B
Authority
CN
China
Prior art keywords
user
business operation
mark
administrator
target user
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
Application number
CN201610807091.9A
Other languages
English (en)
Other versions
CN106529324A (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.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201610807091.9A priority Critical patent/CN106529324B/zh
Publication of CN106529324A publication Critical patent/CN106529324A/zh
Application granted granted Critical
Publication of CN106529324B publication Critical patent/CN106529324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种用户身份切换方法及装置,其中所述方法包括:如果已登录的用户为管理员用户,获取所述用户待模拟的目标用户的标识;根据所述目标用户的标识确定所述目标用户的权限;接收终端发送的第一业务操作请求,所述第一业务操作请求中携带有用户执行的第一业务操作的标识;根据所述目标用户的权限和所述第一业务操作的标识判断是否对所述第一业务操作进行授权,得到第一判断结果;将所述第一判断结果携带于第一业务操作响应中,并将所述第一业务操作响应发送给终端。

Description

一种用户身份切换方法及装置
技术领域
本发明涉及网页(Web)管理信息系统,尤其涉及一种用户身份切换方法及装置。
背景技术
在信息管理系统中,用户是指被授权使用或负责维护信息管理系统的人员,用户通过用户账号登陆系统,其中用户账号是指在信息管理系统中设置与保存、用于授予用户合法登陆和使用信息管理系统等权限的用户信息,例如可以包括用户名、密码以及用户真实姓名、单位、联系方式等基本信息内容。用户权限是指允许用户操作信息管理系统中某功能点或功能点集合的权力范围。在信息管理系统中,用户一般分为系统管理员(管理员)和普通用户。在信息管理系统的应用过程中,经常需要将用户角色或身份进行切换的问题,例如现有技术中存在有以下几种情况:
1)操作系统中的以管理员身份运行——操作系统中允许有管理员权限的用户,在以普通用户的身份登录时,执行特定操作时临时切换为管理员身份;但是该功能仅允许切换为管理员身份而不是其他普通用户的身份,另外也不适用于Web系统。该技术的缺点在于:绝大多数企业信息管理系统采用的是Web系统的B/S(Browser/Server,浏览器/服务器)结构,并且一般都会设立管理员与普通用户等角色,管理员负责系统维护,普通用户参与业务活动,所以普通用户一般不会同时具有管理员角色。另外,普通用户在使用系统过程中遇到问题时,管理员会有复现用户现场的需要,而不是反过来普通用户切换成管理员身份,所以操作系统中的以管理员身份运行功能不适用于现代企业信息管理系统。
2)其他Web管理信息系统中的身份切换功能——一般是要求当前登录用户退出,使用需要切换的用户账号口令登录,完全以该切换用户的身份进行系统交互。该功能要求获知目标用户的口令,并且临时切换完成后,要求重复退出-登录的过程,无法同时审计真实身份和目标身份。该技术的缺点在于:需要目标用户口令的身份切换方式,极大地破坏了账号的安全性,从而造成用户口令的泄露;或者事后要求用户更换口令,从而影响用户体验;即使更换口令后,原有密码有可能还继续在其他系统中使用,进而扩大了口令泄露的危害。而且重新登录的账号切换方式无法同时对身份切换前后的账户进行审计,管理员使用目标用户的口令登录后,管理员进行的操作与目标用户本身进行的操作将无法区分,给管理员执行违规操作提供了空间。
3)爬虫软件中的模拟登录——一般是将目标用户登录后产生的会话标识置入超文本传输协议(HTTP,Hyper Text Transfer Protocol)请求的浏览器缓存(Cookie)参数中,以模拟已登录用户的登录态。该功能要求事先与目标用户取得联系,并要求该用户登录后取得必要会话标识。该技术的缺点在于:使用会话标识模拟身份的方式极大地限制了灵活性,要求用户及时配合,管理员无法掌握主动权从而在第一时间复现问题。另外,会话标识如果泄露给其他普通用户,则获取会话标识的该用户不需要管理员身份也可以伪造目标用户身份登录,从而威胁企业信息安全。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种用户身份切换方法及装置,能够使得管理员在不要求用户提供登录口令的情况下,以该普通用户的身份进入系统复现问题,从而帮助普通用户解决所遇到的问题。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种用户身份切换方法,所述方法包括:
如果已登录的用户为管理员用户,获取所述用户待模拟的目标用户的标识;
根据所述目标用户的标识确定所述目标用户的权限;
接收终端发送的第一业务操作请求,所述第一业务操作请求中携带有用户执行的第一业务操作的标识;
根据所述目标用户的权限和所述第一业务操作的标识判断是否对所述第一业务操作进行授权,得到第一判断结果;
将所述第一判断结果携带于第一业务操作响应中,并将所述第一业务操作响应发送给终端。
第二方面,本发明实施例提供一种用户身份切换装置,所述装置包括第一获取单元、第一确定单元、第一接收单元、第一判断单元和第一发送单元,其中:
所述第一获取单元,用于如果已登录的用户为管理员用户,获取所述用户待模拟的目标用户的标识;
所述第一确定单元,用于根据所述目标用户的标识确定所述目标用户的权限;
所述第一接收单元,用于接收终端发送的第一业务操作请求,所述第一业务操作请求中携带有用户执行的第一业务操作的标识;
所述第一判断单元,用于根据所述目标用户的权限和所述第一业务操作的标识判断是否对所述第一业务操作进行授权,得到第一判断结果;
所述第一发送单元,用于将所述第一判断结果携带于第一业务操作响应中,并将所述第一业务操作响应发送给终端。
本发明实施例以上提供的技术方案,能够使得管理员在不要求用户提供登录口令的情况下,以该普通用户的身份进入系统复现问题,从而帮助普通用户解决所遇到的问题。
附图说明
图1为本发明实施例中网络架构示意图;
图2为本发明实施例用户身份切换方法的实现流程示意图一;
图3为本发明实施例用户身份切换装置的组成结构示意图一;
图4为本发明实施例用户身份切换方法的实现流程示意图二;
图5为本发明实施例用户身份切换装置的组成结构示意图二。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
实施例一
在介绍本实施例之前,先介绍一下本发明实施例中所涉及的网络架构,图1为本发明实施例中网络架构示意图,如图1所示,本实施例涉及三方的设备,第一方设备即管理员的电子设备(第二终端30),第二方设备为普通用户的电子设备(第一终端201至203),第三方设备为服务器(10)。在实施的过程中,第二终端30一般至少有一个,当然还可以有多个,例如一个信息管理系统中可以包括多个管理员,多个管理员分别对应有一个或多个电子设备;第一终端至少有一个及一个以上,在本实施例中以三个第一终端201至203为例进行说明,在其他的实施例中,第一终端的数量当然可以包括很多例如几百个。在图1中,第二终端30对应的用户为管理员60,第一终端201至203对应的用户为普通用户401至403。系统中的普通用户401至403中的任一在使用系统过程中碰到了问题需要管理员帮忙解决,但是无论是文字还是截屏还是电话都无法准确完整地描述问题,例如,普通用户的文字功底比较差,无法清楚明白的描述问题,再如,该普通用户说话带有口音或习惯性使用方言,那么管理员很难了解到问题。在这种情况下,普通用户401至403在使用系统过程中遇到问题时,管理员60会有复现普通用户的现场的需要,从而了解到普通用户所遇到的问题,然后管理员为普通用户解决普通用户所面临的问题。需要注意的是,管理员是从管理员身份切换为普通用户,而不是反过来普通用户切换成管理员身份。
为了更清楚地理解本发明实施例,先介绍一下本发明所涉及的基本概念。
服务器:又称服务器端,从广义上讲,服务器是指网络中能对其它机器如提供某些服务的计算机系统,在实现的过程中,服务器可以采用各种电子设备来实现,例如计算机、服务器集群、笔记本电脑、平板电脑等。基于此理解,服务器是个相对的概念,例如web服务器是相对于用户的终端而言的服务器,但是就其他某一功能例如容量扩展(通常所说的扩容)而言,那么该服务器还可以有其对应的服务器。
终端:在实施过程中,终端可以为各种类型的具有信息处理能力的电子设备,例如所述终端可以包括智能手机、平板电脑、台式机、个人数字助理等。
管理员,主要负责信息管理系统中的系统参数配置,用户账号开通与维护管理、设定角色与权限关系,维护数据字典,系统日志管理以及数据管理等系统运行维护工作;本发明实施例中的管理员包括普通管理员、超级管理员(超管);一般来说,管理员可以信息管理系统的开发者或维护人员。
而普通用户是指由管理员在信息管理系统中创建并授权的非管理员类用户,拥有在被授权范围内登陆和使用信息管理系统的权限。用户类别与用户权限有着直接的对应关系,即,用户如果为管理员,那么该用户的权限即为管理员权限,用户如果为普通用户,那么该用户的权限即为普通用户的权限。换句话说,用户的分类是根据用户权限来分类的。一般来说,信息管理系统中对用户操作权限的控制是通过建立一套角色与权限对应关系,对用户账号授予某个角色或多个角色的组合来实现的,一个角色对应一定的权限,一个用户账号可通过被授予多个角色而获得多种操作权限。
为了解决该技术问题,本发明实施例提供一种用户身份切换方法,应用于服务器,该方法所实现的功能可以通过服务器中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该服务器至少包括处理器和存储介质。图2为本发明实施例用户身份切换方法的实现流程示意图一,如图2所示,该方法包括:
步骤S101,如果已登录的用户为管理员用户,获取所述用户待模拟的目标用户的标识;
这里,管理员用户登陆信息管理系统,在登录的过程中,管理员用户需要输入自己的登录信息,例如账户、标识和密码等信息,这样管理员的终端将管理员用户的登录信息发送给服务器,然后服务器对管理员用户的登录信息进行鉴权,如果通过后,服务器向终端发送鉴权通过结果,如果失败,服务器向终端发送鉴权失败结果;终端根据服务器发送的鉴权通过结果或鉴权失败结果对管理员用户的登录操作进行处理,如果终端接收到的鉴权通过结果,则终端允许管理员登录成功,如果终端接收到的是鉴权失败结果,则终端不允许管理员用户登录,则管理员用户登录失败。
这里,在实现的过程中,目标用户可以为遇到问题的普通用户,当目标用户遇到问题的时候,管理员用户确定目标用户的标识,然后管理员用户进行设置操作,该设置操作用于将该目标用户的标识设置在浏览器的runAs字段中,终端接收管理员用户设置的目标用户的标识,然后终端向服务器发送设置请求;服务器接收所述终端发送的设置请求,所述设置请求中携带有所述目标用户的标识;然后服务器根据所述目标用户的标识对runAs字段进行写入。如果已登录的用户为管理员用户,则服务器获取所述用户待模拟的目标用户的标识,包括:服务器查询所述runAs字段,得到待模拟的所述目标用户的标识。
这里,在实现的过程中,目标用户的标识(ID,IDentity)可以是目标用户的账号信息、姓名的全拼或部分拼写信息等,其中账号信息可以采用身份证号码、电话号码、邮箱账号等来实现。
步骤S102,根据所述目标用户的标识确定所述目标用户的权限;
这里,服务器可以根据目标用户的标识查询预设的第一关联信息,得到目标用户的权限,在实现的过程中,第一关联信息可以采用第一映射列表或者第一关联列表来实现,其中第一映射列表或第一关联列表用于表明用户的标识与用户的权限之间的对应关系。
步骤S103,接收终端发送的第一业务操作请求,所述第一业务操作请求中携带有用户执行的第一业务操作的标识;
这里,所述第一业务操作中的第一以及第一业务操作请求中的第一,以及以下实施例中的第二、第三等仅用于区别,并不表示序列等含义,其中第一业务操作用于表明管理员以目标用户的身份的操作;以下实施例中的第二业务操作,用于表明普通用户的业务操作,而第三业务操作,用于表明管理员用户以自己的真实身份而非模拟的身份进行的业务操作。
步骤S104,根据所述目标用户的权限和所述第一业务操作的标识判断是否对所述第一业务操作进行授权,得到第一判断结果;
这里,一般来说,不同的用户或用户组具有不同的权限,假设将普通用户分为用户组A、用户组B和用户组C,其中,不同的用户组具有不同的权限,例如,用户组A的权限低于用户组B的权限,用户组B的权限低于用户组C的权限,如果目标用户属于用户组A,那么目标用户拥有用户组A的权限。不同的用户权限对应于不同的业务操作,例如对于业务操作a来讲,业务操作a只需要用户组A的权项即可,即,用户组A、B、C的用户均可以执行业务操作a;而业务操作b则需要用户组B的权限,则用户组C和B的用户可以执行业务操作b,而用户组A的用户不可以执行业务操作a;业务操作c则需要用户组C的权限,则用户组C的用户可以执行业务操作c,而用户组A和B的用户不可以执行业务操作c。
这里,服务器可以根据所述目标用户的权限和所述第一业务操作的标识查询预设的第二关联信息,得到目标用户的权限和所述第一业务操作的标识之间是否有对应关系,如果有对应关系,则确定第一判断结果为能够对第一业务操作进行授权,如果没有对应关系,则确定第一判断结果为不能够对第一业务操作进行授权,在实现的过程中,第二关联信息可以采用第二映射列表或者第二关联列表来实现,其中第二映射列表或第二关联列表用于表明目标用户的权限与所述第一业务操作的标识的对应关系。
步骤S105,将所述第一判断结果携带于第一业务操作响应中,并将所述第一业务操作响应发送给终端。
这里,所述第一业务响应用于控制所述终端根据所述第一判断结果对所述第一业务操作进行处理。
本发明实施例中,上述的步骤S101和步骤S103之间并无严格先后顺序关系,在实施的过程中,可以先执行步骤S101和步骤S102,然后再执行步骤S103;当然,还可以先执行步骤S103,然后再执行步骤S101和步骤S102,本实施例并不对此做出限定。
在本发明的其他实施例中,所述方法还包括:形成日志的过程,下面提供三种实现方式:
方式一:将所述第一业务操作的标识、所述目标用户的标识和所述用户标识生成日志。
这里,形成日志以便对管理员的操作进行审计,例如被模拟的目标用户属于财务或者最新技术的研发人员,这两类人员需要对其他人员进行保密,如果管理员以被模拟的目标用户的身份做了不合理的操作,那么这些操作将被记录下来。
方式二:将所述业务操作的标识、所述第一判断结果、所述目标用户的标识和所述用户的用户标识生成日志。
方式二与方式一的区别在于,日志中多了第一判断结果,即,虽然管理员执行了该业务操作,但是有没有执行成功也很重要,其中第一判断结果用于表明是否对所述第一业务操作进行授权,如果授权,那么表明管理员对第一业务操作执行成功,如果没有授权,表明管理员对第一业务操作没有执行成功。
方式三:形成日志的过程,包括:
步骤S111,用户登录后,为所述用户的本次登录确定会话标识;
步骤S112,将所述会话标识和所述用户标识进行关联;
步骤S113,将所述业务操作的标识、所述第一判断结果、所述会话标识、所述目标用户的标识和所述用户的用户标识生成日志。
方式三与方式二的区别在于,增加了会话标识,通过将会话标识与用户标识进行关联,然后通过会话标识以识别管理员管的真实身份,以确定管理员是在哪次会话时执行了什么操作。
在本发明的其他实施例中,所述方法还包括:
步骤S121,接收所述终端发送的清除请求,所述清除请求用于表明对runAs字段进行删除;
这里,本发明实施例中的终端主要包括管理员的终端,这样管理员可以远程帮助目标用户解决目标用户所遇到的问题。
这里,当管理员模拟目标用户发现问题之后,为目标用户解决了问题,那么管理员可以进行清除操作,所述清除操作用于删除或清除runAs字段,这样终端接收管理员用户的清除操作,然后终端向服务器发送清除请求,所述清除请求用于表明对runAs字段进行删除。
步骤S122,根据清除请求对所述runAs字段进行删除;
步骤S123,接收终端发送的第三业务操作请求,所述第三业务操作请求中携带有所述用户执行的第三业务操作的标识;
这里,管理员用户在进行清除操作后,以自己的真实身份即管理员的身份进行操作,终端会接收管理员的第三业务操作,然后,终端响应第三业务操作,向服务器发送第三业务操作请求。
步骤S124,根据所述用户的权限和所述第三业务操作的标识判断是否对所述第三业务操作进行授权,得到第三判断结果;
步骤S125,将所述第三判断结果携带于第三业务操作响应中,并将所述第三业务操作响应发送给终端。
这里,所述第三业务响应用于控制所述终端根据所述第三判断结果对所述第三业务操作进行处理。
从以上步骤S121至步骤S125可以看出:管理员用户清除runAs字段后,终端不能识别出runAs字段,以会话标识关联的用户标识认证,管理员用户得以恢复原有真实身份,然后以管理员身份进行业务操作。
从以上实施例可以看出,本发明实施例提供的技术方案,能够使得管理员无需普通用户提供登录口令的情况下,以该普通用户的身份进入系统复现该普通用户所遇到的问题,从而帮助普通用户解决问题。进一步地,在本发明的其他实施例中,完成登录鉴别用户标识后,设置会话标识以识别管理员管的真实身份,通过浏览器Cookie中的runAs字段表明想要模拟身份的目标用户的标识,这样当前用户的后续业务操作发生时,判断出当前用户是管理员,并将其设置为待模拟的目标用户,同时记录当前用户的真实用户标识,最后记录操作日志时分别记录待模拟的目标用户的标识和管理员的真实用户标识。
基于前述的实施例,本发明实施例提供一种用户身份切换方法,该方法应用于服务器,该方法所实现的功能可以通过服务器中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该服务器至少包括处理器和存储介质。该方法包括:
步骤S201,用户登录后,获取所述用户的用户标识;
这里,所述用户的用户标识是用户自身的真实标识。
步骤S202,根据所述用户标识判断所述用户是否为管理员用户。
这里,服务器可以根据所述用户标识查询预设的第三关联信息,得出所述用户是否为管理员,其中第三关联信息与前述的第一关联信息、第二关联信息类似,第三关联信息用于表明哪些用户的用户标识是属于管理员用户的。
步骤S203,如果已登录的用户为管理员用户,判断所述用户是否要模拟除所述用户外的其他用户;
这里,除所述用户外的其他用户即为目标用户,因为要模拟目标用户,那么目标用户一般不是自己,对于管理员来说,管理员模拟自身是对解决本发明实施例中的技术问题来说是没有意义的。判断所述用户是否要模拟其他用户,可以通过runAs字段是否包括有其他用户(目标用户)的标识来确定,即判断是否要模拟,即判断runAs里面是有标识的还是空的,换句话说,判断runAs字段是否包括有其他用户的标识,如果runAs字段有其他用户的标识,则确定所述用户要模拟除所述用户外的其他用户;如果runAs字段没有其他用户的标识,则确定所述用户不要模拟除所述用户外的其他用户。其中runAs字段内的用户标识即为目标用户的标识。
步骤S204,如果所述用户要模拟除所述用户外的其他用户,则获取所述用户待模拟的目标用户的标识。
步骤S205,根据所述目标用户的标识判断所述目标用户是否满足预设条件;
这里,所述预设条件包括满足可模拟的一些条件,例如目标用户的标识是否为保密人员的标识,即目标用户是否为保密人员,目标用户的权限是否比管理员的权限要高,如果目标用户为保密人员,则不满足预设条件,如果目标用户不为保密人员,则满足预设条件;如果目标用户的权限比管理员的权限高,则不满预设条件,如果目标用户的权限比管理员的权限低,则满足预设条件。从以上步骤S205可以看出,本实施例中不是所有的用户都可以模拟,例如,一个系统有多个管理员的时候,普通管理员不能模拟比他权限级别高的。
步骤S206,如果所述目标用户满足所述预设条件,根据所述目标用户的标识确定所述目标用户的权限;
步骤S207,接收终端发送的第一业务操作请求,所述第一业务操作请求中携带有用户执行的第一业务操作的标识;
步骤S208,根据所述目标用户的权限和所述第一业务操作的标识判断是否对所述第一业务操作进行授权,得到第一判断结果;
步骤S209,将所述第一判断结果携带于第一业务操作响应中,并将所述第一业务操作响应发送给终端。
这里,本实施例中的步骤S206至步骤S209对应于实施例一中的步骤102至步骤105,因此,本领域的技术人员可以参阅前述实施例而理解上述的步骤S206至步骤S209。
步骤S210,如果所述用户不为管理员用户,获取所述用户的用户标识确定所述用户的权限;
步骤S211,接收终端发送的第二业务操作请求,所述第二业务操作请求中携带有所述用户执行的第二业务操作的标识;
步骤S212,根据所述用户的权限和所述第二业务操作的标识判断是否对所述第二业务操作进行授权,得到第二判断结果;
步骤S213,将所述第二判断结果携带于第二业务操作响应中,并将所述第二业务操作响应发送给终端。
这里,所述第二业务响应用于控制所述终端根据所述第二判断结果对所述第二业务操作进行处理。
从以上步骤S210至步骤S213可以看出,登录用户不是管理员,则不能进行用户身份模拟或者用户身份切换,则用户身份模拟失败,仍然用户需要以自身的真实身份执行所有的业务操作。
基于前述的实施例,本发明实施例提供一种用户身份切换装置,在本实施例中,将以Windows操作系统为操作环境进行说明,本领域的技术人员应当理解的是,本实施例提供的技术方案同样适用于其他的操作系统。图3为本发明实施例用户身份切换装置的组成结构示意图一,如图3所示,该用户身份切换装置300包括:认证模块301、权限模块302、审计模块303等部分,其中:
认证模块301,用于完成登录鉴别用户标识后,设置会话标识以识别管理员的真实身份;
权限模块302,用于授予管理员角色,另外通过浏览器Cookie中的runAs字段表明想要模拟身份的目标用户的标识,这样当前用户的后续业务操作发生时,认证模块判断出当前用户是管理员角色,并将其设置为模拟的目标用户,同时记录当前用户的真实用户标识;
这里,在Windows的域管理中,经常会遇到一些程序或工具无法以普通用户权限运行,而必须用到管理员权限的情况,为此,Windows提供了以什么身份来运行(runAs)命令来解决这一问题。而在本实施例中,将通过runAs字段来标识目标用户的标识。
审计模块303,用于记录操作日志时分别获取模拟的目标用户的标识和真实用户标识。
基于上述的用户身份切换装置,本发明实施例提供一种用户身份切换方法,图4为本发明实施例用户身份切换方法的实现流程示意图二,如图4所示,该方法包括:
步骤S401,登录;
这里,用户登录信息管理系统,登录过程中的用户可以是普通用户也可以是管理员用户,为了下文描述方便,这里以管理员用户为例,如果用户在登录的过程中会输入登录信息,其中登录信息一般包括账号和密码等信息,当然登录信息还可以包括用户标识,如果登录信息中不包括用户标识,则用户的终端会根据登录信息确定用户标识,例如根据用户的账号确定用户的标识。
步骤S402,关联会话标识与用户标识;
这里,管理员登录系统后,终端会向服务器的认证模块发送关联请求,所述关联请求用于关联会话标识与用户标识,服务器的认证模块接收终端发送的关联请求后,认证模块获取用户标识,并设置会话标识,将会话标识与用户标识关联;
这里,会话标识中会话的含义包括:通过浏览器、信息管理系统等与服务器之间的一次通话,就会话的应用来说,一般会话是用来识别用户的,比如用户可以使用会话级变量记录当前用户已经输入的用户名密码,这样用户就不用每次输入了,还可以用来记录一些其它的与当前这一次通话有关的信息。一旦用户关闭了浏览器或退出了信息管理系统,但是用户重新打开浏览器或重新登录信息管理系统时,已经不能再次利用上一次的会话了,它会新建一个会话。而服务器会根据预先的设置在超时后自动关闭会话,用户也可以手动结束会话。对于信息管理系统而言,会话是一个重要的概念之一,会话管理是一套惯例和协议,启用“会话管理器”保存和恢复用户的会话;用户能够登录到系统,并且提供给用户的处于运行状态的应用程序、设置和资源的集合与用户注销时提供给用户的相同。
步骤S403,授权,角色写入角色列表;
这里,权限模块查询根据用户标识当前用户角色,并授予其管理员角色;这里的用户角色与用户身份类似。
步骤S404,设置Cookie中的runAs字段;
这里,管理员用户设置Cookie中的runAs字段为模拟的目标用户的标识;终端向服务器发送设置请求,所述设置请求用于设置Cookie中的runAs字段为模拟的目标用户的标识;服务器接收终端发送的设置请求,然后将目标用户的标识写入runAs字段。
步骤S405,执行业务操作;
管理员用户以目标用户的身份执行业务操作,终端接收管理员用户的业务操作,然后终端向服务器发送业务操作请求;
步骤S406,Cookie中是否有的runAs字段,是时,进入步骤S407,否时,进入步骤S410。
这里,服务器的认证模块检查Cookie中是否有的runAs字段,即是时,进入步骤S407,否时,进入步骤S410。
步骤S407,检查角色列表;
这里,每当管理员用户执行业务操作时,服务器的认证模块检查当前用户的角色列表。
步骤S408,判断是否为管理员,是时,进入步骤S409,否时,进入步骤S410;
这里。服务器的认证模块确认当前用户是管理员身份后,进入步骤S409;
步骤S409,设置主要身份为模拟的目标用户;
这里,服务器的认证模块将当前用户主要身份设置为模拟的目标用户,次要身份设置为管理员真实用户,管理员用户得以使用模拟用户身份执行业务操作;
步骤S410,审计;
这里,审计模块在管理员用户执行业务操作完成后,同时根据当前执行操作者的主要身份和次要身份识别出模拟用户和管理员真实用户,并一起作为审计日志记录下来;
在本实施例中,如果当前登录用户不是管理员角色,则认证模块不会识别runAs字段,用户身份模拟失败,仍然以原有身份执行操作;如果当前登录的用户是管理员角色,但是管理员用户清除runAs字段后,认证模块未识别出runAs字段,以会话标识关联的用户标识认证,管理员用户主要身份得以恢复原有真实身份,次要身份清除。
上述的用户身份切换装置,本发明实施例提供一种用户身份切换方法,该方法包括:
步骤S501,服务器的认证模块存储会话标识与用户标识之间对应关系的关联列表,称为会话列表(参见表1),权限模块存储用户标识与系统角色之间对应关系的关联列表,称为角色列表(参见表2)。其中,Session1表示会话1,SuperUser表示超级用户(即为管理员)。
表1会话列表
会话标识 用户标识
Session1 SA1
表2角色列表
用户标识 角色
SA1 SuperUser
步骤S502,用户登录系统后,认证模块生成惟一的会话标识分配给用户,存储在用户的浏览器的Cookie中,并向会话列表中插入会话信息,该会话信息用于表征用户的真实身份。
步骤S503,同一用户后续访问系统时,认证模块根据Cookie中的会话标识查询用户真实身份,并设置为主要身份;
步骤S504,权限模块查询角色列表,确认用户角色;
步骤S505,用户设置Cookie中的runAs字段为User1,然后执行业务操作;
这里,User1为目标用户的标识,即管理员要模拟User1。
步骤S506,服务器收到业务操作请求后,由认证模块检查当前用户的角色和runAs字段,判断出用户拥有管理员身份并且尝试模拟用户User1的身份,于是将当前用户主要身份替换为User1,次要身份设置为SA1,此时当前用户的交互界面与业务功能都是对应User1的身份;
步骤S507,当前用户完成一次业务操作后,审计模块通过认证模块获得用户的主要身份和次要身份分别为User1和SA1,向日志列表(参见表3)中插入审计日志:
表3日志列表
用户标识 真实用户标识 操作参数
User1 SA1 Action1
步骤S508,如果认证模块检查出当前用户不是管理员角色,则忽略Cookie中的runAs字段,用户继续以SA1的身份执行业务操作,审计模块插入审计日志列表,参见表4:
表4日志列表
用户标识 真实用户标识 操作参数
SA1 SA1 Action1
步骤S509,当前用户清除Cookie中的runAs字段后执行业务操作,认证模块检查出Cookie中不包含runAs字段,用户恢复为SA1为主要身份;
步骤S510,用户登出后,清空用户标识对应的会话记录与runAs字段。
以上实施例提供的技术方案,可以用于下面的场景:系统中的普通用户在使用系统过程中碰到了问题需要管理员帮忙解决,但是无论是文字还是截屏都无法准确完整地描述问题,管理员在不要求用户提供登录口令的情况下,直接设置浏览器Cookie中的runAs字段为该用户的标识,然后以该用户身份进入系统复现问题,从而帮助用户解决问题。
从以上的技术方案可以看出,以Cookie中设置runAs字段为目标用户的标识的方式允许管理员模拟目标用户以便登录Web系统,从而为目标用户解决所遇到的问题。认证模块允许用户同时有多个身份,主要身份为模拟的目标用户(一般为普通用户),次要身份为管理员真实用户。审计模块同时记录模拟普通用户的身份和管理员真实身份。与现有技术相比,本发明实施例提供的技术方案具有以下优点:1)整个身份模拟过程中,管理员不需要目标用户的口令即可实现身份模拟,从而提升安全性;2)身份模拟的目标更加灵活,过程更加及时,因为管理员只需要知道目标用户的用户标识即可完成模拟,不需要等待用户配合或是要求用户提供不便获取的技术参数,从而提升模拟效率。3)对身份模拟后的业务操作实施有效监督,系统自动对敏感业务操作中操作者的模拟身份和真实身份进行审计,加强了模拟身份操作的安全性和可审计性。4)能够进行身份模拟的用户更加可控,因为系统识别用户的角色,并且只允许管理员角色模拟身份,防止非管理员角色伪造身份。5)以低成本的方式引入Web系统的身份模拟,将操作系统中身份转换的概念延伸到Web系统中,并且加以扩展,允许管理员模拟其他普通用户的身份。
基于前述的实施例,本发明实施例提供一种用户身份切换装置,该装置所包括的各单元以及各单元所包括的各模块,都可以通过服务器中的处理器来实现,当然也可通过逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图5为本发明实施例用户身份切换装置的组成结构示意图二,如图5所示,该装置500包括第一获取单元501、第一确定单元502、第一接收单元503、第一判断单元504和第一发送单元505,其中:
所述第一获取单元501,用于如果已登录的用户为管理员用户,获取所述用户待模拟的目标用户的标识;
所述第一确定单元502,用于根据所述目标用户的标识确定所述目标用户的权限;
所述第一接收单元503,用于接收终端发送的第一业务操作请求,所述第一业务操作请求中携带有用户执行的第一业务操作的标识;
所述第一判断单元504,用于根据所述目标用户的权限和所述第一业务操作的标识判断是否对所述第一业务操作进行授权,得到第一判断结果;
所述第一发送单元505,用于将所述第一判断结果携带于第一业务操作响应中,并将所述第一业务操作响应发送给终端。
在本发明的一种实施例中,所述装置还包括第一生成单元,用于将所述第一业务操作的标识、所述目标用户的标识和所述用户标识生成日志。
在本发明的一种实施例中,所述装置还包括第四判断单元,用于如果已登录的用户为管理员用户,判断所述用户是否要模拟除所述用户外的其他用户;如果所述用户要模拟除所述用户外的其他用户,则获取所述用户待模拟的目标用户的标识。
在本发明的一种实施例中,所述装置还包括第二确定单元、关联单元和第二生成单元,其中:
所述第二确定单元,用于用户登录后,为所述用户的本次登录确定会话标识;
所述关联单元,用于将所述会话标识和所述用户标识进行关联;
所述第二生成单元,用于将所述业务操作的标识、所述第一判断结果、所述会话标识、所述目标用户的标识和所述用户的用户标识生成日志。
在本发明的一种实施例中,所述装置还包括:第二获取单元、第五判断单元、第三获取单元、第二接收单元、第二判断单元和第二发送单元,其中:
所述第二获取单元,用于用户登录后,获取所述用户的用户标识;
所述第五判断单元,用于根据所述用户标识判断所述用户是否为管理员用户。
这里,如果根据所述用户标识判断所述用户为管理员用户,则触发第一获取单元获取所述用户待模拟的目标用户的标识;如果所述用户不为管理员用户,则触发第三获取单元获取所述用户的用户标识确定所述用户的权限。
所述第三获取单元,用于如果所述用户不为管理员用户,获取所述用户的用户标识确定所述用户的权限;
所述第二接收单元,用于接收终端发送的第二业务操作请求,所述第二业务操作请求中携带有所述用户执行的第二业务操作的标识;
所述第二判断单元,用于根据所述用户的权限和所述第二业务操作的标识判断是否对所述第二业务操作进行授权,得到第二判断结果;
所述第二发送单元,用于将所述第二判断结果携带于第二业务操作响应中,并将所述第二业务操作响应发送给终端。
在本发明的一种实施例中,所述第一获取单元包括接收模块、写入模块和查询模块,其中:
所述接收模块,用于接收所述终端发送的设置请求,所述设置请求中携带有所述目标用户的标识;
所述写入模块,用于根据所述目标用户的标识对runAs字段进行写入;
所述查询模块,用于如果所述用户为管理员用户,查询所述runAs字段,得到待模拟的所述目标用户的标识。
在本发明的一种实施例中,所述装置还包括第三接收单元、删除单元、第四接收单元、第三判断单元和第三发送单元,其中:
所述第三接收单元,用于接收所述终端发送的清除请求,所述清除请求用于表明对runAs字段进行删除;
所述删除单元,用于根据清除请求对所述runAs字段进行删除;
所述第四接收单元,用于接收终端发送的第三业务操作请求,所述第三业务操作请求中携带有所述用户执行的第三业务操作的标识;
所述第三判断单元,用于根据所述用户的权限和所述第三业务操作的标识判断是否对所述第三业务操作进行授权,得到第三判断结果;
所述第三发送单元,用于将所述第三判断结果携带于第三业务操作响应中,并将所述第三业务操作响应发送给终端。
在本发明的一种实施例中,所述装置还包括第六判断单元,用于根据所述目标用户的标识判断所述目标用户是否满足预设条件;如果所述目标用户满足所述预设条件,根据所述目标用户的标识确定所述目标用户的权限。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种用户身份切换方法,其特征在于,所述方法包括:
如果已登录的用户为管理员用户,获取所述用户待模拟的目标用户的标识;
根据所述目标用户的标识确定所述目标用户的权限;
接收终端发送的第一业务操作请求,所述第一业务操作请求中携带有所述用户以所述目标用户的身份执行的第一业务操作的标识;
根据所述目标用户的权限和所述第一业务操作的标识判断是否对所述第一业务操作进行授权,得到第一判断结果;
将所述第一判断结果携带于第一业务操作响应中,并将所述第一业务操作响应发送给终端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一业务操作的标识、所述目标用户的标识和所述用户的用户标识生成日志。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果已登录的用户为管理员用户,判断所述用户是否要模拟除所述用户外的其他用户;
如果所述用户要模拟除所述用户外的其他用户,则获取所述用户待模拟的目标用户的标识。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
用户登录后,为所述用户的本次登录确定会话标识;
将所述会话标识和所述用户的用户标识进行关联;
将所述业务操作的标识、所述第一判断结果、所述会话标识、所述目标用户的标识和所述用户的用户标识生成日志。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
用户登录后,获取所述用户的用户标识;
根据所述用户标识判断所述用户是否为管理员用户。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
如果所述用户不为管理员用户,获取所述用户的用户标识确定所述用户的权限;
接收终端发送的第二业务操作请求,所述第二业务操作请求中携带有所述用户执行的第二业务操作的标识;
根据所述用户的权限和所述第二业务操作的标识判断是否对所述第二业务操作进行授权,得到第二判断结果;
将所述第二判断结果携带于第二业务操作响应中,并将所述第二业务操作响应发送给终端。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述获取所述用户待模拟的目标用户的标识,包括:
接收所述终端发送的设置请求,所述设置请求中携带有所述目标用户的标识;
根据所述目标用户的标识对runAs字段进行写入;
如果所述用户为管理员用户,查询所述runAs字段,得到待模拟的所述目标用户的标识。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
接收所述终端发送的清除请求,所述清除请求用于表明对runAs字段进行删除;
根据清除请求对所述runAs字段进行删除;
接收终端发送的第三业务操作请求,所述第三业务操作请求中携带有所述用户执行的第三业务操作的标识;
根据所述用户的权限和所述第三业务操作的标识判断是否对所述第三业务操作进行授权,得到第三判断结果;
将所述第三判断结果携带于第三业务操作响应中,并将所述第三业务操作响应发送给终端。
9.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
根据所述目标用户的标识判断所述目标用户是否满足预设条件;
如果所述目标用户满足所述预设条件,根据所述目标用户的标识确定所述目标用户的权限。
10.一种用户身份切换装置,其特征在于,所述装置包括第一获取单元、第一确定单元、第一接收单元、第一判断单元和第一发送单元,其中:
所述第一获取单元,用于如果已登录的用户为管理员用户,获取所述用户待模拟的目标用户的标识;
所述第一确定单元,用于根据所述目标用户的标识确定所述目标用户的权限;
所述第一接收单元,用于接收终端发送的第一业务操作请求,所述第一业务操作请求中携带有用户以所述目标用户的身份执行的第一业务操作的标识;
所述第一判断单元,用于根据所述目标用户的权限和所述第一业务操作的标识判断是否对所述第一业务操作进行授权,得到第一判断结果;
所述第一发送单元,用于将所述第一判断结果携带于第一业务操作响应中,并将所述第一业务操作响应发送给终端。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括第一生成单元,用于将所述第一业务操作的标识、所述目标用户的标识和所述用户的用户标识生成日志。
CN201610807091.9A 2016-09-06 2016-09-06 一种用户身份切换方法及装置 Active CN106529324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610807091.9A CN106529324B (zh) 2016-09-06 2016-09-06 一种用户身份切换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610807091.9A CN106529324B (zh) 2016-09-06 2016-09-06 一种用户身份切换方法及装置

Publications (2)

Publication Number Publication Date
CN106529324A CN106529324A (zh) 2017-03-22
CN106529324B true CN106529324B (zh) 2019-08-06

Family

ID=58343492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610807091.9A Active CN106529324B (zh) 2016-09-06 2016-09-06 一种用户身份切换方法及装置

Country Status (1)

Country Link
CN (1) CN106529324B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277038A (zh) * 2017-07-18 2017-10-20 北京微影时代科技有限公司 访问控制方法、装置以及系统
CN109858905B (zh) * 2018-12-21 2023-04-25 航天信息软件技术有限公司 跨系统的电子凭证处理方法及装置
CN109995644B (zh) * 2019-04-25 2021-08-31 北京口袋时尚科技有限公司 一种传输消息的方法及装置
CN110888694B (zh) * 2019-10-31 2020-08-28 南京联创互联网技术有限公司 基于localStorage实现系统用户账号自由切换的方法
CN113792285B (zh) * 2021-08-05 2024-01-26 广东核电合营有限公司 一种核电站业务权限控制方法、装置及终端设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450691B (zh) * 2014-08-21 2019-08-16 阿里巴巴集团控股有限公司 业务处理方法、装置及服务器
CN104615916B (zh) * 2014-12-12 2018-06-19 腾讯科技(深圳)有限公司 账号管理方法和装置、账号权限控制方法和装置

Also Published As

Publication number Publication date
CN106529324A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN106529324B (zh) 一种用户身份切换方法及装置
US8301653B2 (en) System and method for capturing and reporting online sessions
Winther et al. Security assessments of safety critical systems using HAZOPs
CN110109427A (zh) 基于最小特权的过程控制软件安全架构
Abrar et al. Risk analysis of cloud sourcing in healthcare and public health industry
US20120317217A1 (en) Methods and systems for managing virtual identities
US20160057168A1 (en) System and methods for efficient network security adjustment
CN105027498A (zh) 一种通过远程分隔和组装数据文件实现安全存储的方法及其系统和装置
WO2016067117A1 (en) Method of and system for processing an unauthorized user access to a resource
CN100586123C (zh) 基于角色管理的安全审计方法及系统
EP4283507A1 (en) Method and apparatus for data access control
CN105786581A (zh) 用于进行网络数据操作的多级服务器和方法
US11823701B2 (en) Network operation based on domain specific language
Ford Cybersecurity
CN102799820B (zh) 一种用户密码的恢复方法
Kott et al. The fog of war in cyberspace
CN106603567A (zh) 一种web管理员的登录管理方法及装置
Tirtadjaja et al. Managing High Privileged Accounts in IT Enterprise: Enhanced Security Infrastructure
US9489158B1 (en) Print logging for use with terminal emulators
Sasada et al. Zero-trust access control focusing on imbalanced distribution in browser clickstreams
CN106254333A (zh) 一种安全桌面管理方法及装置
Ogîgău-Neamţiu Automating the data security process
Mitola III et al. Cyber oriented digital engineering
WO2018088942A1 (en) Device and method for administration of a server
US11888798B2 (en) Attachment and embedded object positioning validation

Legal Events

Date Code Title Description
C06 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