package edu.sjtu.infosec.ismp.manager.SYSM.user.self.web.actions;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.infosec.ismp.manager.rmi.comm.model.SysInitArgs;
import edu.sjtu.infosec.ismp.manager.SYSM.user.self.comm.SecurityUserHolder;
import edu.sjtu.infosec.ismp.security.Domain;
import edu.sjtu.infosec.ismp.security.OperatorDetails;
public class LoginAction extends Action {
private static Logger logger = Logger.getLogger(LoginAction.class);
/**
* 注入 service 接口
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
try{
String error = (request.getParameter("error")==null)?"":request.getParameter("error");
// if(error!=null && error.equals("1")){
// return mapping.findForward("failed");
// }else
if(error!=null && error.equals("2")){
return mapping.findForward("sessionFailed");
}else{
OperatorDetails user = SecurityUserHolder.getCurrentUser();
if(user == null){
return mapping.findForward("unLogin");
}else{
logger.debug("=====当前用户为:"+user.getUsername());
if(user.getRoleList() == null){
logger.debug("其权限(0个)为:null");
}else{
logger.debug("其权限("+user.getRoleList().size()+"个)为:"+user.getRoleList().get(0).getName());
}
if(user.getDomainList() == null){
logger.debug("当前用户未分配的委办局!!!");
}else{
logger.debug("当前用户分配的委办局有:");
for(Domain domain : user.getDomainList()){
logger.debug(domain.getDomainName());
}
}
SysInitArgs.getInstance();
SysInitArgs.WEB_URL_BASE = request.getContextPath();
return mapping.findForward("success");
}
}
}catch(Exception e){
e.printStackTrace();
return mapping.findForward("failed");
}
}
}