⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userlogininterceptor.java

📁 天乙虚拟社区8.05版本。只支持Mysql
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
						ud.setFavourBook("");
						ud.setFavourChat("");
						ud.setFavourMovie("");
						ud.setFavourMusic("");
						ud.setFavourPeople("");
						ud.setFavourTeam("");
						ud.setGraduate("");
						ud.setHeight("");
						ud.setHomePage("");
						ud.setIcqNo("");
						ud.setInterest("");
						ud.setMsn("");
						ud.setOicqNo("");
						ud.setSex((short) 0);
						ud.setWeight("");
						ud.setYahoo("");

						ui.setUserDetail(ud);
						ud.setUserInfo(ui);

						try {
							ui = userService.saveUserInfo(ui); // 创建用户

							SysStatService sysStatService = (SysStatService) wc.getBean("sysStatService");
							sysStatService.saveAllUserNum(userService.getAllUserNum(), ui.getUserName());

							// 用户登录过程
							ui.setLastLoginIP(ui.getLoginIP());
							ui.setLastLoginTime(ui.getLoginTime());

							ui.setLoginIP(request.getRemoteAddr());
							ui.setLoginTime(new Date());

							long nowTime = System.currentTimeMillis();
							UserOnline uo = new UserOnline();
							uo.setAtPlace("");
							uo.setBoardID(0);
							uo.setNickName(ui.getNickName());
							uo.setOnlineTime(nowTime);
							uo.setUserGroupID(ui.getGroupID());
							uo.setUserID(ui.getId());
							uo.setUserName(ui.getUserName());
							uo.setValidateCode(ui.getId() + "_" + nowTime);
							if (ui.getHiddenLogin() == 1) { // 用户隐身登录
								uo.setHiddenUser(1);
							}

							ui = userService.saveAtLogin(ui); // 用户登录处理

							uo = userOnlineService.createUserOnline(uo); // 加入在线用户表

							us = userService.getUserSession(ui);
							us.setLastActiveTime(nowTime);
							us.setValidateCode(uo.getValidateCode());

							ac.getSession().put(Constant.USER_SESSION_KEY, us);

							// UserSession us = userService.getUserSession(ui);
							// userSessionCache.add(ui.getUserName(), us);
							uc.addCookies(ui);

							// 用户登录过程结束

						} catch (BbscsException ex) {
							logger.error(ex);
						}
					}
				} else {// 通行证未登录,做游客登录
					UserService userService = (UserService) wc.getBean("userService");
					UserOnlineService userOnlineService = (UserOnlineService) wc.getBean("userOnlineService");
					if (us == null) {// 用户没有登录过,直接做游客登录
						// if (!uc.isLoginUser()) {// 用户没有登录过,直接做游客登录

						long nowTime = System.currentTimeMillis();
						UserOnline uo = new UserOnline();
						uo.setAtPlace("");
						uo.setBoardID(0);
						uo.setNickName("Guest");
						uo.setOnlineTime(nowTime);
						uo.setUserGroupID(Constant.USER_GROUP_GUEST);
						uo.setUserID(Constant.GUEST_USERID + nowTime);
						uo.setUserName(Constant.GUEST_USERNAME + nowTime);
						uo.setValidateCode(Constant.GUEST_USERID + "_" + nowTime);
						try {
							uo = userOnlineService.createUserOnline(uo);

							us = this.createGuestUserSession(uo.getUserID(), uo.getUserName(), userService);
							us.setLastActiveTime(System.currentTimeMillis());
							us.setValidateCode(uo.getValidateCode());// ???
							ac.getSession().put(Constant.USER_SESSION_KEY, us);

							uc.addGuestCookies();

							// UserSession us =
							// this.createGuestUserSession(uo.getUserID(),
							// uo.getUserName(), userService);
							// userSessionCache.add(uo.getUserName(), us);
							// uc.addGuestCookies(uo.getUserName());

						} catch (BbscsException ex) {
							logger.error(ex);
						}

					} else {// 用户在社区是登录状态,需要强制做游客登录
						/*
						 * UserSession us = (UserSession)
						 * userSessionCache.get(uc.getUserName());// 取用户Session
						 * if (us == null) { us =
						 * userService.getUserSession(uc.getUserName());
						 * userSessionCache.add(uc.getUserName(), us); }
						 */
						if (us.getGroupID() != Constant.USER_GROUP_GUEST) {// //如果原来用户不是游客,先清除原Session,做游客登录
							// userSessionCache.remove(uc.getUserName());
							ac.getSession().remove(Constant.USER_SESSION_KEY);
							uc.removeAllCookies();

							long nowTime = System.currentTimeMillis();
							UserOnline uo = new UserOnline();
							uo.setAtPlace("");
							uo.setBoardID(0);
							uo.setNickName("Guest");
							uo.setOnlineTime(nowTime);
							uo.setUserGroupID(Constant.USER_GROUP_GUEST);
							uo.setUserID(Constant.GUEST_USERID + nowTime);
							uo.setUserName(Constant.GUEST_USERNAME + nowTime);
							uo.setValidateCode(Constant.GUEST_USERID + "_" + nowTime);
							try {
								uo = userOnlineService.createUserOnline(uo);
								us = this.createGuestUserSession(uo.getUserID(), uo.getUserName(), userService);

								us.setLastActiveTime(System.currentTimeMillis());
								us.setValidateCode(uo.getValidateCode());// ???
								ac.getSession().put(Constant.USER_SESSION_KEY, us);

								uc.addGuestCookies();

								// userSessionCache.add(uo.getUserName(), us);
								// uc.addGuestCookies(uo.getUserName());

							} catch (BbscsException ex) {
								logger.error(ex);
							}

						}

					}
				}
			} else {// 不使用通行证
				if (us == null) {// 用户未登录,做游客登录

					UserService userService = (UserService) wc.getBean("userService");
					UserOnlineService userOnlineService = (UserOnlineService) wc.getBean("userOnlineService");

					if (uc.isSaveLoginCookie()) {
						UserInfo ui = userService.findUserInfoByUserName(uc.getUserName());
						ui.setLastLoginIP(ui.getLoginIP());
						ui.setLastLoginTime(ui.getLoginTime());

						ui.setLoginIP(request.getRemoteAddr());
						ui.setLoginTime(new Date());
						ui.setUserLocale(request.getLocale().toString());

						long nowTime = System.currentTimeMillis();
						UserOnline uo = new UserOnline();
						uo.setAtPlace("");
						uo.setBoardID(0);
						uo.setNickName(ui.getNickName());
						uo.setOnlineTime(nowTime);
						uo.setUserGroupID(ui.getGroupID());
						uo.setUserID(ui.getId());
						uo.setUserName(ui.getUserName());
						uo.setValidateCode(ui.getId() + "_" + nowTime);
						uo.setHiddenUser(0);

						ui = userService.saveAtLogin(ui); // 用户登录处理
						uo = userOnlineService.createUserOnline(uo); // 加入在线用户表

						us = userService.getUserSession(ui);
						us.setValidateCode(uo.getValidateCode());
						ac.getSession().put(Constant.USER_SESSION_KEY, us);

						uc.removeAuthCode();
						uc.addCookies(ui);
					} else {

						long nowTime = System.currentTimeMillis();
						UserOnline uo = new UserOnline();
						uo.setAtPlace("");
						uo.setBoardID(0);
						uo.setNickName("Guest");
						uo.setOnlineTime(nowTime);
						uo.setUserGroupID(Constant.USER_GROUP_GUEST);
						uo.setUserID(Constant.GUEST_USERID + nowTime);
						uo.setUserName(Constant.GUEST_USERNAME + nowTime);
						uo.setValidateCode(Constant.GUEST_USERID + "_" + nowTime);
						try {
							uo = userOnlineService.createUserOnline(uo);
							us = this.createGuestUserSession(uo.getUserID(), uo.getUserName(), userService);
							us.setLastActiveTime(System.currentTimeMillis());
							us.setValidateCode(uo.getValidateCode());// ???
							ac.getSession().put(Constant.USER_SESSION_KEY, us);

							uc.removeAuthCode();
							uc.addGuestCookies();

						} catch (BbscsException ex) {
							logger.error(ex);
						}
					}
				}
			}
		}

		return invocation.invoke();
	}

	private UserSession createGuestUserSession(String gUestID, String gUesrName, UserService userService) {
		UserSession us = new UserSession();

		us.setGroupID(Constant.USER_GROUP_GUEST);
		us.setId(gUestID);
		us.setNickName("Guest");
		us.setUserName(gUesrName);
		Map[] permissionMap = userService.getUserPermission(Constant.USER_GROUP_GUEST);
		us.setUserPermissionArray(permissionMap);
		return us;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -