📄 loginservice.java
字号:
package com.afuer.hib.dao.orgModel.Dao.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import com.afuer.hib.dao.orgModel.Idao.ILoginDao;
import com.afuer.hib.form.LinkControl;
import com.afuer.hib.form.UserAcl;
import com.afuer.hib.form.UserInfo;
import com.afuer.hib.form.Userrole;
import com.common.login.UserSessionForm;
import com.common.util.StringTool;
public class LoginService implements Controller {
private static final Log log = LogFactory.getLog(LoginService.class);
public static HashMap hm = new HashMap();
private ILoginDao loginDao;
public ILoginDao getLoginDao() {
return loginDao;
}
public void setLoginDao(ILoginDao loginDao) {
this.loginDao = loginDao;
}
private String menuStr="";
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
String username = StringTool.InitStr(request.getParameter("username")).trim();
String password = StringTool.InitStr(request.getParameter("password")).trim();
UserInfo user = new UserInfo();
int login_flag = 0;
login_flag = loginDao.getUserInfoDao().getAccounts(username, password)
.intValue();
log.warn("user:loginname," + username);
if (login_flag > 0) {
// 对用户进行授权
List roles = new ArrayList();
user = loginDao.getUserInfoDao().getUserInfo(username);
UserSessionForm usf = new UserSessionForm();
// 添加用户的基本信息
usf.setUi(user);
// 添加用户的角色
List list = loginDao.getUserroleDao().findRolesByUser(user.getId());
Iterator it = list.iterator();
while (it.hasNext()) {
Userrole ur = (Userrole) it.next();
roles.add(ur.getId());
}
usf.setRoles(roles);
System.out.println("xxxxxxddddxxxxtemp:"+usf.getRoles().size());
usf.setUrlTree(getHeadMenuString(usf.getRoles()));
HttpSession sess = request.getSession(true);
sess.setAttribute("UserInfo", usf);
log.warn("用户" + user.getLoginname() + "登陆系统!");
return new ModelAndView("/admin/login/index");
} else {
log.warn("用户" + StringTool.InitStr(username) + "尝试登陆系统失败!");
return new ModelAndView("/admin/login/login", "errMsg",
"您的用户名或密码错误!");
}
}
//以下为获得菜单String的函数
public String getHeadMenuString(List roles) {
String temp = "";
List list = new ArrayList();
Iterator it = roles.iterator();
// 获得linkid
while (it.hasNext()) {
final Integer roleId = (Integer) it.next();
System.out.println("xxxxxxddddxxxxroleId:"+roleId);
list = loginDao.getLinkControlDao().getLinksByRole(roleId);
Iterator it1 = list.iterator();
while (it1.hasNext()) {
LinkControl lc = loginDao.getLinkControlDao().get(
((UserAcl) it1.next()).getLinkid());
System.out.println("xxxxxxddddxxxxroleId:"+lc.getName());
temp+=searchMenu(lc);
}
}
return temp;
}
public String searchMenu(LinkControl lc) {
String temp = "";
if(lc==null||lc.getId()==null||hm.containsKey(lc.getId()))
{
return temp;
}
else {
log.debug("temp:"+lc.getId());
hm.put(lc.getId(), lc);
if (lc.getParentid() =="1") {
temp += "menu_" + lc.getId() + "=new mMenu('" + lc.getName()
+ "','" + lc.getLinkurl() + "','" + lc.getTarget()
+ "','','','','');\n";
} else {
temp += "menu_" + lc.getId() + "=new mMenuItem(' "
+ lc.getName() + "','" + lc.getLinkurl() + "','"
+ lc.getTarget() + "',false,'','1','','','','');";
// String ppId=loginDao.getLinkControlDao().get(
// StringTool.changeInteger(lc.getParentid()))
// .getParentid();
String ppId="1";
if (("1").equals(ppId)) {
temp += "menu_" + lc.getParentid() + ".addItem(menu_"
+ lc.getId() + ");";
} else {
temp += "menu_" + lc.getParentid() + ".addsubItem(menu_"
+ lc.getId() + ");";
}
}
searchMenu(loginDao.getLinkControlDao().get(
StringTool.changeInteger(lc.getParentid())));
}
System.out.println("xxxxxxxxxxsearchtemp:"+temp);
return temp;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -