* 登录成功之后吧userId和pwd加密之后放入cookie
*
* @param cookiestr
*/
protected void setCookie(String cookieId, String cookiestr,String loginWeek) {
String uid = XXTea.encrypt(cookiestr, Const.ENCRYPT_KEY);
Cookie cookie = new Cookie(cookieId, uid);
cookie.setDomain(Const.DOMAIN);
cookie.setPath("/");
if (null != loginWeek && "on".equals(loginWeek)) {
cookie.setMaxAge(60 * 60 * 24 * 7);
} else {
cookie.setMaxAge(60 * 60 * 4);
}
response.addCookie(cookie);
}
获取cookie
public static AdminUserVO getUser(HttpServletRequest request,
String cookieId) {
try{
Cookie[] cookies = request.getCookies();
String adminUser = "";
if (cookies != null && cookies.length != 0) {
for (Cookie cookie : cookies) {
if (cookieId.equals(cookie.getName())) {
String temp = cookie.getValue();
adminUser = XXTea.decrypt(temp, Const.ENCRYPT_KEY);
}
}
}
if (null != adminUser && !"".equals(adminUser)) {
// IAdminUserService adminUserServiceImpl = (IAdminUserService)ImplClassUtil.getInstance().get("adminUserServiceImpl");
String[] adminUsers = adminUser.split(",");
// AdminUserQuery adminUserQuery = new AdminUserQuery();
// adminUserQuery.setPassword(adminUsers[1]);
// adminUserQuery.setAccount(adminUsers[0]);
// AdminUserVO adminUserVO = adminUserServiceImpl
// .getAdminUserVO(adminUserQuery);
AdminUserVO adminUserVO = (AdminUserVO)userMaps.get(adminUsers[0].trim());
if (null != adminUserVO) {
return adminUserVO;
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
System.gc();
}
return null;
}
/**
* 用户退出
*
* @return
* @throws Exception
*/
public String logout() throws Exception {
try {
AdminUserQuery query = new AdminUserQuery();
AdminUserVO userVO = Utils.getUser(request, Const.COOKIEID);
query.setIs_Login(Const.IS_LOGIN_NO);
query.setUser_id(userVO.getUser_id());
adminUserServiceImpl.updateAdminUserVO(query);
// 清空cookie
Cookie cookie = new Cookie(Const.COOKIEID, "");
cookie.setDomain(Const.DOMAIN);
cookie.setPath("/");
cookie.setMaxAge(0);
response.addCookie(cookie);
Utils.userMaps.remove(userVO.getAccount());
// PageInfo pageInfo = new PageInfo(Integer.MAX_VALUE,Const.DEFAULT_PAGE_NO, Const.DEFAULT_MAX_RECORD);
// List<AdminUserVO> adminUserVOs =
// adminUserServiceImpl.getAdminUserVOByPage(adminUserQuery,
// pageInfo);
// adminUserQuery = null;
// if(adminUserVOs!=null&&adminUserVOs.size()>0){
// AdminUserVO userVO = Utils.getUser(request,);
// AdminUserQuery query = new AdminUserQuery();
//
// query.setIs_Login("1");
// query.setUser_id(adminUserVO.getUser_id());
// AdminUserVO userVO = Utils.getUser(request,query);
// }
Utils.insertLogInfo("用户退出", "帐号:"+userVO.getAccount(),userVO.getUser_id());
return SUCCESS;
} catch (Exception e) {
logger.error("用户退出:logout()",e);
e.printStackTrace();
}finally{
System.gc();
}
return ERROR;
}