Parcourir la Source

账号唯一性登陆

huangbo 8 ans auparavant
Parent
commit
399c4d978a
1 fichiers modifiés avec 32 ajouts et 0 suppressions
  1. 32 0
      display-server/src/main/java/com/ai/server/bean/LoginBean.java

+ 32 - 0
display-server/src/main/java/com/ai/server/bean/LoginBean.java

@ -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
		/*