📄 cookieverifyaction.java
字号:
package com.db711.web.action.admin.login;
import java.util.Date;
import java.util.List;
import java.net.URLDecoder;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.db711.data.bean.DBFirstSort;
import com.db711.data.bean.TIndexadmin;
import com.db711.data.bean.UserInfo;
import com.db711.data.dao.IDBFirstSortDAO;
import com.db711.data.dao.IDBSortDAO;
import com.db711.data.dao.ITIndexadminDAO;
import com.db711.model.service.INoneAdminPriService;
import com.db711.model.service.IUserService;
import com.db711.sys.Constant;
import com.db711.sys.StringUtil;
import com.db711.web.form.LoginForm;
public class CookieVerifyAction extends Action {
/*
* Generated Methods
*/
static Logger logger = Logger.getLogger(CookieVerifyAction.class);
private IUserService userService;
private INoneAdminPriService noneAdminPriService;
private IDBFirstSortDAO dbfirstsortDAO;
private IDBSortDAO dbsortDAO;
private ITIndexadminDAO indexadminDAO;
@SuppressWarnings("deprecation")
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession(true);
LoginForm loginForm = (LoginForm) form;
ActionMessages errors = new ActionMessages();
List list = dbfirstsortDAO.findByFirstsortname("公共");
List publicsortList = dbsortDAO.findByDbfirstsort((DBFirstSort) list
.get(0));
list = dbfirstsortDAO.findByFirstsortname("行业");
List tradesortList = dbsortDAO.findByDbfirstsort((DBFirstSort) list
.get(0));
TIndexadmin Indexadmin = (TIndexadmin) indexadminDAO.findAll().get(0);
// 全文检索开关全局变量
Long indexSwitch = 0L;
if (indexSwitch.equals(null)) {
indexSwitch = 0L;
} else {
indexSwitch = Indexadmin.getIndexswitch();
}
UserInfo user = null;
String id = request.getParameter("id");
if (id != null && id.equals("sys")) {// 链接进入系统首页
user = (UserInfo) session.getAttribute(Constant.USER);
} else {// 登录进入首页
// 判断用户是否存在
user = this.isValidate(request);
}
if (user != null) {
// 如果不是系统管理员,判断用户的帐号是否过期
if (user.getUserRole().equalsIgnoreCase("user")) {
Date date = new Date();
// 当前年
Integer year = date.getYear() + 1900;
// 当前月
Integer month = date.getMonth() + 1;
String newmonth = null;
if (month < 10) {
newmonth = "0" + month.toString();
} else {
newmonth = month.toString();
}
// 当前日
Integer day = date.getDate();
String newday = null;
if (day < 10) {
newday = "0" + day.toString();
} else {
newday = day.toString();
}
// 当前时间
String datenow = year.toString() + "-" + newmonth + "-"
+ newday;
// 如果授权有效期比当前时间小,则提示用户权限已超期,不能登陆
if (user.getUserValidity().compareTo(datenow) < 0) {
errors.add("errorMessage", new ActionMessage(
"error.invalidation"));
saveErrors(request, errors);
return mapping.findForward("grantsfailure");
}
}
// 保存索引开关值
session.setAttribute("INDEXSWITCH", indexSwitch);
session.setAttribute("USER", user);
if (user.getUserRole().equalsIgnoreCase("admin")) {
session.setAttribute(Constant.USER, user);
session.setAttribute("USERROLE", user.getUserRole());
logger.warn(StringUtil.getLogString(user.getUserAccount(),
Constant.LOGIN));
// 初始化树形菜单
session.setAttribute("PUBLICDBSORT",
publicsortList);
session.setAttribute("TRADEDBSORT", tradesortList);
return mapping.findForward("success");
} else if (user.getUserRole().equalsIgnoreCase("user")) {
// 同时将其所具有的权限保存起来,为页面实现动态权限调用
List USERPRILIST = noneAdminPriService.findByUserroleId(user
.getUserroleId());
session.setAttribute(Constant.USERPRILIST, USERPRILIST);
session.setAttribute(Constant.USER, user);
session.setAttribute("USERROLE", user.getUserRole());
// 初始化树形菜单
session.setAttribute("PUBLICDBSORT",
publicsortList);
session.setAttribute("TRADEDBSORT", tradesortList);
return mapping.findForward("success");
} else {
errors.add("errorMessage", new ActionMessage("error.login"));
saveErrors(request, errors);
return mapping.findForward("grantsfailure");
}
} else {
errors.add("errorMessage", new ActionMessage("error.id"));
saveErrors(request, errors);
return mapping.findForward("grantsfailure");
}
}
public UserInfo isValidate(HttpServletRequest request) {
Cookie[] cookies = request.getCookies();
if (cookies == null)
cookies = new Cookie[0];
String id = "";// 用户标识
String name = "";// 用户姓名
try {
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies[i];
if ("KOAL_CERT_CN".equals(cookie.getName()))// 读取用户标识
{
id = new String(URLDecoder.decode(cookie.getValue(),"GBK"));
} else if ("KOAL_CERT_GN".equals(cookie.getName()))// 读取用户姓名
{
name = new String(URLDecoder.decode(cookie.getValue(),"GBK"));
} else {
continue;
}
}
} catch (Exception e) {
}
if(id.equals("")||name.equals("")){
return null;
}
return userService.isValidUserByIdandName(id, name);
}
public IUserService getUserService() {
return userService;
}
public void setUserService(IUserService userService) {
this.userService = userService;
}
public INoneAdminPriService getNoneAdminPriService() {
return noneAdminPriService;
}
public void setNoneAdminPriService(INoneAdminPriService noneAdminPriService) {
this.noneAdminPriService = noneAdminPriService;
}
public IDBFirstSortDAO getDbfirstsortDAO() {
return dbfirstsortDAO;
}
public void setDbfirstsortDAO(IDBFirstSortDAO dbfirstsortDAO) {
this.dbfirstsortDAO = dbfirstsortDAO;
}
public IDBSortDAO getDbsortDAO() {
return dbsortDAO;
}
public void setDbsortDAO(IDBSortDAO dbsortDAO) {
this.dbsortDAO = dbsortDAO;
}
public ITIndexadminDAO getIndexadminDAO() {
return indexadminDAO;
}
public void setIndexadminDAO(ITIndexadminDAO indexadminDAO) {
this.indexadminDAO = indexadminDAO;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -