一种数据处理方法及系统与流程

文档序号:12134860阅读:294来源:国知局
一种数据处理方法及系统与流程

本申请涉及通信技术领域,尤其涉及一种数据处理方法及系统。



背景技术:

随着公司业务不断扩大,功能性平台系统的研发不断增生,使用统一账户去维护管理不同的平台系统的需求越发的迫切,发现通过与中央认证服务(英文:Central Authentication Service,简称:CAS)开源项目的整合能解决这个问题,可是在研发的过程中遇到国际化语言参数的传递问题,即用户通过登录界面,即:CAS服务端,选择想要的语言项,使得登录后跳转的平台系统即:CAS客户端,能体现用户的选择的语言,而这时就需要CAS服务端传递该参数给CAS客户端才能实现,对于企业级应用,多数是分布式部署的,因此存在跨域跨服务端跨应用的问题,顾不能简单地使用cookies、session等方式传递,然而通过对CAS开源项目了解,目前表单数据提交仅支持验证码验证的扩展,以及登录成功返回更多用户数据给客户端技术支持,而未能找到有相关可扩展性技术支持可直接从CAS服务端提交用户的个性化数据并传递至每个CAS客户端。



技术实现要素:

本发明实施例提供了一种数据处理方法及系统,用以解决现有技术中无法直接从CAS服务端提交用户的个性化数据并传递至每个CAS客户端的问题。

其具体的技术方案如下:

一种数据处理方法,所述方法包括:

中央认证服务CAS服务端获取用户输入的国际化语言参数;

将所述国际化语言参数添加到登录表单中;

将添加了国际化语言参数的登录表单发送至各个CAS客户端。

可选的,在CAS服务端获取用户输入的国际化语言参数之前,所述方法还包括:

获取用户输入的用户名以及密码信息;

验证所述密码信息是否与预设密码信息匹配;

若匹配,则生成登录表单。

可选的,将所述国际化语言参数添加到登录表单中,包括:

在登录界面脚本的登录表单中添加语言表单属性;

将用户选择的所述国际化语言参数添加到所述语言表单属性中。

可选的,将用户选择的所述国际化语言参数添加到所述语言表单属性中,包括:

在所述登录表单的用户名密码证书类中增加语言私有属性;

提供公有的getter获值方法和setter赋值方法来进行语言私有属性的访问。

可选的,将添加了国际化语言参数的登录表单发送至各个CAS客户端,包括:

将所述国际化语言参数的键和值放入到用户个人信息主处理类的修改属性键值映射集合中;

将添加了所述国际化语言参数的登录表单发送至各个CAS客户端。

一种数据处理系统,包括:

获取模块,用于获取用户输入的国际化语言参数;

处理模块,用于将所述国际化语言参数添加到登录表单中;

通讯模块,用于将添加了国际化语言参数的登录表单发送至各个CAS客户端。

可选的,所述获取模块,还用于获取用户输入的用户名以及密码信息;

所述处理模块,还用于验证所述密码信息是否与预设密码信息匹配;若匹配,则生成登录表单。

可选的,所述处理模块,具体用于在登录界面脚本的登录表单中添加语言表单属性;将用户选择的所述国际化语言参数添加到所述语言表单属性中。

可选的,所述处理模块,具体用于在所述登录表单的用户名密码证书类中增加语言私有属性;提供公有的getter获值方法和setter赋值方法来进行语言私有属性的访问。

可选的,所述处理模块,具体用于将所述国际化语言参数的键和值放入到用户个人信息主处理类的修改属性键值映射集合中;将添加了所述国际化语言参数的登录表单发送至各个CAS客户端。

CAS服务端将获取到用户设置的国际化语言参数,然后CAS服务端会将该国际化语言参数添加到登录表单中,并且通过修改的CAS开源项目提供的返回更多用户信息数据的可扩展性技术,使得可以将提交的登录表单的个性化数据通过该通道传递至各个CAS客户端,这样就实现了CAS服务端将个性化数据下发至各个CAS客户端的目的。

附图说明

图1为本发明实施例中一种数据处理方法的流程图;

图2为本发明实施例中一种数据处理系统的结构示意图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。

如图1所示为本发明实施例中一种数据处理方法的流程图,该方法包括:

S101,中央认证服务端CAS服务端获取用户输入的国际化语言参数;

S102,将国际化语言参数添加到登录表单中;

S103,将添加了国际化语言参数的登录表单发送至各个CAS客户端。

具体来讲,为了实现CAS服务端将国际化语言参数下发到各CAS客户端,所以,在执行上述步骤之前,首先在登录界面脚本的登录表单中添加语言表单属性;将用户选择的所述国际化语言参数添加到所述语言表单属性中。

进一步,在所述登录表单的用户名密码证书类中增加语言私有属性;提供公有的getter获值方法和setter赋值方法来进行语言私有属性的访问。将所述国际化语言参数的键和值放入到用户个人信息主处理类的修改属性键值映射集合中。

举例来讲,首先需要修改casLoginView.jsp登录界面,添加一项<input type="hidden"name="language"id="lang"/>隐藏显示的form表单属性(其他个性化表单属性可展示显示,非必须为隐藏显示的表单属性),并将用户选择的国际化语言(使用户点击语言项的超链接触发changeLanguage方法)通过javascript动态设置为该“language”隐藏显示的form表单属性的值,如下:

然后在cas-server-core子模块代码中对UsernamePasswordCredential类新增language私有属性,并提供公有的getter和setter方法。

进一步,更灵活的扩展:对于其他个性化数据,可以通过创建继承UsernamePasswordCredential类的新子类,扩展个性化数据私有属性,并提供相应的公有getter和setter方法即可,getter为获值方法,setter为赋值方法。

其次再修改login-webflow.xml,新增用户认证绑定language属性:

最后利用CAS开源项目所提供的返回更多用户信息数据的可扩展性支持,具体来讲,该技术实现的目的是用于将已登录认证的用户从数据库获取更多的用户信息,并予以返回给每个CAS客户端,改造该技术,使其可适应将所提交的表单个性化数据通过该通道予以传递给每个CAS客户端。

修改PersonDirectoryPrincipalResolver类的resolve方法,使得返回的convertedAttributes键值映射集合含language。

进一步,更灵活性扩展:将前面说到的继承UsernamePasswordCredential类的新子类所定义个性化参数的值放进该convertedAttributes键值映射集合中,藉此可予以返回给每个CAS客户端,以致CAS客户端能通过该键值映射集合获取国际化语言参数或其他个性化参数,并进行初始化设置,具体如下:

修改PersonDirectoryPrincipalResolver类的resolve方法

删除如下代码:

在方法的返回结果前面添加如下代码:

CAS客户端通过如下方式获取CAS服务端传递过来的language参数(其他个性化数据同理,以键值获取):

//对CAS客户端初始化设置CAS服务端传来的国际化语言ServletActionContext.getRequest().getSession().setAttribute("WW_TRANS_I18N_LOCALE",locale);

基于上述的例子来讲,用户首先需要开启登录界面,并且在登录界面中输入用户名以及密码信息之后,CAS服务端将获取到用户设置的国际化语言参数,然后CAS服务端会将该国际化语言参数添加到登录表单中,并且通过修改的CAS开源项目提供的返回更多用户信息数据的可扩展性技术,使得可以将提交的登录表单的个性化数据通过该通道传递至各个CAS客户端,这样就实现了CAS服务端将个性化数据下发至各个CAS客户端的目的。

对应本发明实施例中一种数据处理方法,本发明实施例中还提供了一种数据处理系统,如图2所示为本发明实施例中一种数据处理系统的结构示意图,该系统包括:

获取模块201,用于获取用户输入的国际化语言参数;

处理模块202,用于将所述国际化语言参数添加到登录表单中;

通讯模块203,用于将添加了国际化语言参数的登录表单发送至各个CAS客户端。

进一步,在本发明实施例中,所述获取模块201,还用于获取用户输入的用户名以及密码信息;

所述处理模块202,还用于验证所述密码信息是否与预设密码信息匹配;若匹配,则生成登录表单。

进一步,在本发明实施例中,所述处理模块202,具体用于在登录界面脚本的登录表单中添加语言表单属性;将用户选择的所述国际化语言参数添加到所述语言表单属性中。

进一步,在本发明实施例中,所述处理模块202,具体用于在所述登录表单的用户名密码证书类中增加语言私有属性;提供公有的getter获值方法和setter赋值方法来进行语言私有属性的访问。

进一步,在本发明实施例中,所述处理模块202,具体用于将所述国际化语言参数的键和值放入到用户个人信息主处理类的修改属性键值映射集合中;将添加了所述国际化语言参数的登录表单发送至各个CAS客户端。

尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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