📄 userlogininterceptor.java
字号:
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 + -