|
@ -1,5 +1,10 @@
|
1
|
1
|
package com.ai.server.bean;
|
2
|
2
|
|
|
3
|
import java.util.Map;
|
|
4
|
import java.util.concurrent.ConcurrentHashMap;
|
|
5
|
|
|
6
|
import com.ai.ipu.server.cache.intf.ICache;
|
|
7
|
import com.ai.ipu.server.frame.session.ISession;
|
3
|
8
|
import com.ai.ipu.server.util.MobileUtility;
|
4
|
9
|
import com.ai.server.core.bean.IpuAppBean;
|
5
|
10
|
import com.ai.server.core.context.IpuContextData;
|
|
@ -8,6 +13,33 @@ import com.ai.server.util.Constant;
|
8
|
13
|
import com.ailk.common.data.IData;
|
9
|
14
|
|
10
|
15
|
public class LoginBean extends IpuAppBean{
|
|
16
|
private final static Map<String, String> uniqueAccounts = new ConcurrentHashMap<String, String>();
|
|
17
|
|
|
18
|
public IData uniqueLogin(IData param) throws Exception{
|
|
19
|
/*
|
|
20
|
* 通过传入的账号密码做登陆校验
|
|
21
|
*/
|
|
22
|
boolean isSuccess = true; //登陆成功
|
|
23
|
if(isSuccess){
|
|
24
|
String account = param.getString("ACCOUNT");
|
|
25
|
String sessionId = uniqueAccounts.get(account);
|
|
26
|
|
|
27
|
ICache cache = IpuSessionManager.getSessionCache();
|
|
28
|
ISession session = (ISession)cache.get(sessionId);
|
|
29
|
if (sessionId != null && session != null) {
|
|
30
|
cache.remove(sessionId);//删除旧的Session
|
|
31
|
}
|
|
32
|
|
|
33
|
IpuContextData contextData = new IpuContextData();
|
|
34
|
contextData.setAccount(param.getString("ACCOUNT"));
|
|
35
|
sessionId = IpuSessionManager.getInstance().createSession(contextData);
|
|
36
|
uniqueAccounts.put(account, sessionId);//记录新的唯一性关系
|
|
37
|
param.put(Constant.Session.SESSION_ID, sessionId);
|
|
38
|
}else{
|
|
39
|
MobileUtility.error("登陆失败!");
|
|
40
|
}
|
|
41
|
return param;
|
|
42
|
}
|
11
|
43
|
|
12
|
44
|
public IData login(IData param) throws Exception{
|
13
|
45
|
/*
|