起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1432|回复: 0

[分享] 如果想在登录时候除了平台验证数据的用户名密码还有验证自己的信息怎么做?

[复制链接]

90

主题

703

帖子

1026

积分

金牌会员

Rank: 6Rank: 6

积分
1026
QQ
发表于 2016-9-20 16:32:42 | 显示全部楼层 |阅读模式
1.在/UI2/portal/base/login/login.js的Model.prototype.doLogin = function(params){中可以通过  params[“options[aaa]”] = “bbb”;添加自己的验证信息传到后端

如下:

1
2
3
4
5
6
7
8
9
10
Model.prototype.doLogin = function(params){
params['url'] = require.toUrl(loginAction);
params["options[aaa]"] = "bbb";
var result = biz.Request.login(params);
if(result.status === 0 || result.status === 500){
   return {flag: false, message: "网络有问题, 请与管理员联系!"};
}else{
   return JSON.parse(result.responseText);
}
};
2.在/BIZ/SA/OPM/system/system.process.m的动作设置中找到loginAction,在执行前事件中获取的loginAcion中Map类型的options参数,然后自己从Map中获取,进行判断,如果校验不通过可以直接抛出异常,获取Map参数如下获取:

1
2
3
public static void  systemProcessBeforeLoginAction() {
<pre>ContextHelper.getActionContext().getParameter("options");
}
为什么要在loginAction在执行前事件中处理吗?

因为loginAction的执行后事件中平台的登录已经完成会在在线列表中记录在线用户,这个时候如果自己的验证信息不通过抛异常是不会信息在线用户数的,这样就导致看到的现象是登录信息验证不通过没有登录成功,但是在线用户列表里面已经有了登录用户的在线记录了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-3 18:21 , Processed in 0.066466 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表