基于方法参数获取当前登录用户信息的方法及系统技术方案

技术编号:34980766 阅读:59 留言:0更新日期:2022-09-21 14:24
本发明专利技术涉及一种基于方法参数获取当前登录用户信息的方法及系统,该方法包括步骤:实现一个用于查询用户信息的sdk包,在sdk包中定义一个Web拦截器;利用该Web拦截器调用获取用户信息的restApi,以便从用户系统中获取用户信息,并将用户系统返回的用户信息绑定到request对象中;实现参数解析器接口,将Web拦截器中绑定的用户对象从request中取出并返回给调用方的Web方法参数;调用方引用sdk包,并配置拦截路径,在Web方法参数中直接将用户对象作为参数,获取到用户信息。通过本发明专利技术,调用方通过一个参数即可以获取登录用户的用户信息,操作方便,且大大提升了效率。且大大提升了效率。且大大提升了效率。

【技术实现步骤摘要】
基于方法参数获取当前登录用户信息的方法及系统


[0001]本专利技术涉及微服务
,特别涉及一种基于方法参数获取当前登录用户信息的方法及系统。

技术介绍

[0002]微服务化后,应用获取登录用户的详细信息,一般通过调用restApi方式请求登录用户系统,或者用户登录时将用户信息保存到cookie或者redis中,其他微服务系统去读取。这样做的缺点是,欲获取用户信息的微服务系统需要预先知道获取用户信息的api或者用户信息的存储位置,再进行解析,操作比较繁琐,而且不同微服务系统调用时工作重复。

技术实现思路

[0003]本专利技术的目的在于提供一种基于方法参数获取当前登录用户信息的方法及系统,以简化用户信息的获取操作。
[0004]为了实现上述专利技术目的,本专利技术实施例提供了以下技术方案:一方面,本专利技术实施例提供了一种基于方法参数获取当前登录用户信息的方法,包括以下步骤:实现一个用于查询用户信息的sdk包,在sdk包中定义一个Web拦截器;利用该Web拦截器调用获取用户信息的restApi,以便从用户系统中获取用户信息,并将用户系统返回的用户信息绑定到request对象中;实现参数解析器接口,将Web拦截器中绑定的用户信息从request对象中取出并返回给调用方的方法参数;调用方引用sdk包,并配置拦截路径,在方法参数中直接将用户对象作为参数,获取到用户信息。
[0005]上述方案中,前面三个步骤都是sdk包中先准备实现好的,第四个步骤是实际应用时执行的,每个需要获取用户信息的微服务系统,只需要操作第四个步骤即可。也就是说,通过前面上个步骤的准备,在实际应用时调用方只需要引用sdk包,配置拦截路径,在方法参数中直接将用户对象作为参数即可获取到当前登录用户的用户信息,极大地简化了操作流程,继而也提高了处理效率。
[0006]在一种实现方式中,所述参数解析器接口为Spring 的HandlerMethodArgumentResolver接口。
[0007]在一种实现方式中,所述将Web拦截器中绑定的用户对象从request中取出并返回给调用方的方法参数的操作为:获取request中绑定的用户信息,赋值给调用方的add方法中的CurrentSystemUser userWrapper参数(参照代码1);所述在方法参数中直接将用户对象作为参数的操作为:在调用方的add方法参数中直接使用用户对象参数userWrapper。
[0008]在一种实现方式中,所述调用方引用sdk包的操作为:调用方在maven或gradle文
件中引入获取用户信息的jar包。
[0009]另一方面,本专利技术实施例公开了一种基于方法参数获取当前登录用户信息的系统,包括以下模块:sdk包实现模块,用于实现一个用于查询用户信息的sdk包,并在sdk包中定义一个Web拦截器以便供调用方引用;对象绑定模块,用于利用该Web拦截器调用获取用户信息的restApi,以便从用户系统中获取用户信息,并将用户系统返回的用户信息绑定到request对象中;解析接口实现模块,用于实现参数解析器接口,并将Web拦截器中绑定的用户信息从request对象中取出并返回给调用方的方法参数;方法参数配置模块,用于调用方引用sdk包,并配置拦截路径,在方法参数中直接将用户对象作为参数,获取到用户信息。
[0010]与现有技术相比,通过本专利技术方法或系统,当某应用需要获取登录用户的用户信息时,只需要引用sdk包,在方法参数中将用户对象作为参数即可,极大地简化了获取信息的流程。
附图说明
[0011]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍, 应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0012]图1为基于方法参数获取当前登录用户信息的方法流程图。
[0013]图2为基于方法参数获取当前登录用户信息的系统的组成框图。
具体实施方式
[0014]下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0015]请参阅图1,本实施例提供的基于方法参数获取当前登录用户信息的方法,包括以下步骤:S10,实现一个用于查询用户信息的sdk包,在sdk包中定义一个Web拦截器(即sdk包中包含一个Web拦截器),以便供调用方(需要获取用户信息的微服务系统)引用。
[0016]sdk(Sofare Development Kit)包,是java应用程序中实现了特定功能的程序包。作为举例,定义Web拦截器的实现代码为:public final class PortalOAuthInterceptor implements HandlerInterceptor, ApplicationContextAware {}
S20,利用该Web拦截器调用获取用户信息的restApi,以便从用户系统中获取用户信息,并将用户系统返回的用户信息绑定到request对象中。
[0017]Web拦截器可以通过FeignClient方式或者Spring RestTemplate或其他方式调用获取用户(用户系统)接口,继而获取用户信息。
[0018]需要注意的是,用户系统返回的用户信息是当前登录用户的基本信息,如登录账号、姓名、邮箱、手机号、归属等,是调用方最常用到的信息,不一定是用户的全部信息。
[0019]request是用来获取一次请求中消息数据,可以绑定数据request.setAttribute(PORTAL_CURRENT_SYSTEM_USER, currentSystemUser);将用户对象绑定进去。用户对象是包含了用户信息的一个集合。
[0020]S30,实现参数解析器接口,将Web拦截器中绑定的用户对象从request中取出并返回给调用方的Web方法参数。参数解析器接口例如可以是Spring 的HandlerMethodArgumentResolver接口。
[0021]参数解析器接口是为了解析想要获取用户信息的微服务系统中的Web方法,Web方法中使用了封装的用户对象CurrentSystemUser,而参数解析器拦截后为此CurrentSystemUser赋值,这样Web方法中才能得到用户信息。覆盖了参数解析resolveArgument方法,当调用方(需要获取用户信息的微服务方)在Web方法参数中注本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于方法参数获取当前登录用户信息的方法,其特征在于,包括以下步骤:实现一个用于查询用户信息的sdk包,在sdk包中定义一个Web拦截器;利用该Web拦截器调用获取用户信息的restApi,以便从用户系统中获取用户信息,并将用户系统返回的用户信息绑定到request对象中;实现参数解析器接口,将Web拦截器中绑定的用户信息从request对象中取出并返回给调用方的方法参数;调用方引用sdk包,并配置拦截路径,在方法参数中直接将用户对象作为参数,获取到用户信息。2.根据权利要求1所述的基于方法参数获取当前登录用户信息的方法,其特征在于,所述参数解析器接口为Spring 的HandlerMethodArgumentResolver接口。3.根据权利要求2所述的基于方法参数获取当前登录用户信息的方法,其特征在于,所述将Web拦截器中绑定的用户对象从request中取出并返回给调用方的方法参数的操作为:获取request中绑定的用户信息,赋值给调用方的add方法中的CurrentSystemUser userWrapper参数;所述在方法参数中直接将用户对象作为参数的操作为:在调用方的add方法参数中直接使用用户对象参数userWrapper。4.根据权利要求1所述的基于方法参数获取当前登录用户信息的方法,其特征在于,所述调用方引用sdk包的操作为:调用方在maven或gradle文件中引入获取用户信息的jar包。5.一种基于方法参数获取当前登录用户信息的系统,其特征在于,包括以下模块:sdk包实现模...

【专利技术属性】
技术研发人员:戈子根郗亚静张强刘亚维李春龙朱静菠
申请(专利权)人:北京结慧科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1