📄 loginchecklogic.java
字号:
package com.webwork.logic;
import java.sql.SQLException;
import java.util.*;
import java.io.*;
import org.dom4j.DocumentException;
import com.webwork.dao.*;
import com.webwork.mapping.*;
import com.webwork.struts.form.*;
/**
* 根据dao返回的结果判断登陆是否成功
* 成功,则还要查询用户可用菜单
* @author keyu_Scott
*
*/
public class LoginCheckLogic {
public int Check(LoginInfoForm loginInfo,Map map,File file) throws ClassNotFoundException, SQLException
{
//-------------------------------------
XMLLoginCheckDao XMLLoginCheck = null; //XML数据获取超管信息
MD5 md5Get = new MD5();
UserInfoForm userInfo = null;
Map tempMap = null;
ArrayList menuList = new ArrayList();
XMLLoginCheck = new XMLLoginCheckDao();
//---------------超级管理员判断-----------------------
userInfo = XMLLoginCheck.Check(loginInfo.getUsercode(), file);
if(userInfo.getUsercode().equals(loginInfo.getUsercode())) //比对帐户
{
if(!userInfo.getPassword().equals(md5Get.getMD5String(loginInfo.getPassword())))
{
return 2; //密码错误,说明是超级管理员密码错误不必再比对普通用户信息
}
else
{
XMLMenuQueryDao xmlMenuQuery = new XMLMenuQueryDao();
StringBuffer list = new StringBuffer();
try {
list = xmlMenuQuery.getMenu(file);
} catch (DocumentException e) {
e.printStackTrace();
} //菜单查询
userInfo.setMenuLayOut(list.toString());
map.put("userInfo", userInfo);
return 0; //超管正常登陆
}
} //帐户不存在,什么都不做
//---------------其他用户判断-------------------------
LoginCheckDao loginCheck = null; //UserInfo中获取用户信息
loginCheck = new LoginCheckDao();
tempMap = loginCheck.Query(loginInfo.getUsercode());//查询用户
userInfo = (UserInfoForm) tempMap.get("userInfo"); //从map中获取userInfo
if(userInfo==null)
{
return 3; //帐户不存在
}
else if(!userInfo.getPassword().equals(md5Get.getMD5String(loginInfo.getPassword())))
{
return 2; //密码错误
}
else if(userInfo.getState().equals("1"))
{
return 1; //帐号被禁用
}
else if(userInfo.getState().equals("2"))
{
return 4; //帐号未分配角色
}
else
{
menuList = (ArrayList) tempMap.get("menuList"); //菜单查询
userInfo.setMenuLayOut("");
if(menuList!=null)
{
//---------------菜单字符串获取--------------
MenuGetLogic menu = new MenuGetLogic();
StringBuffer list = new StringBuffer();
menu.getMenu(0, "0", menuList, list);
//-----------------------------------------
userInfo.setMenuLayOut(list.toString()); //将菜单输出字符串存入userInfo
}
map.put("userInfo", tempMap.get("userInfo"));
return 0; //正常登陆
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -