springMVC框架,後臺中session新增使用者資訊和獲取使用者資訊的問題
阿新 • • 發佈:2019-01-04
登入時,驗證使用者存在不存在,如果存在,將使用者資訊放入session中,首先,建立一個使用者的實體類
import java.util.List; public class LoginStaff { //loginStaff int userId;//使用者id String tVersion; String tInserted; String tUpdated; String usrName;//登陸名 String usrPwd;//登陸密碼 String realName;//使用者名稱 String usrMobile;//手機號 String usrEmail;//郵件地址 int usrType;//使用者型別 String operunitId;// int skinId; private List<String> orgList;//組織機構所有的許可權 public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String gettVersion() { return tVersion; } public void settVersion(String tVersion) { this.tVersion = tVersion; } public String gettInserted() { return tInserted; } public void settInserted(String tInserted) { this.tInserted = tInserted; } public String gettUpdated() { return tUpdated; } public void settUpdated(String tUpdated) { this.tUpdated = tUpdated; } public String getUsrName() { return usrName; } public void setUsrName(String usrName) { this.usrName = usrName; } public String getUsrPwd() { return usrPwd; } public void setUsrPwd(String usrPwd) { this.usrPwd = usrPwd; } public String getRealName() { return realName; } public void setRealName(String realName) { this.realName = realName; } public String getUsrMobile() { return usrMobile; } public void setUsrMobile(String usrMobile) { this.usrMobile = usrMobile; } public String getUsrEmail() { return usrEmail; } public void setUsrEmail(String usrEmail) { this.usrEmail = usrEmail; } public int getUsrType() { return usrType; } public void setUsrType(int usrType) { this.usrType = usrType; } public String getOperunitId() { return operunitId; } public void setOperunitId(String operunitId) { this.operunitId = operunitId; } public int getSkinId() { return skinId; } public void setSkinId(int skinId) { this.skinId = skinId; } public List<String> getOrgList() { return orgList; } public void setOrgList(List<String> orgList) { this.orgList = orgList; } }
其次,是登入驗證,成功則將使用者資訊放入session中
public HashMap<String, Object> eparklogin(HttpServletRequest request, HttpServletResponse response,LoginStaff loginvo){ HashMap resultmap=loginService.selectUser(loginvo); System.out.println("====sessionMaxTime:"+PropertiesUtil.getProperty("sessionMaxTime")); System.out.println("====islogin:"+resultmap.get("islogin")); HashMap<String, Object> map=new HashMap<String, Object>(); if(resultmap.get("islogin")=="0"){//驗證失敗 map.put("resultInfo", "0"); map.put("resultMessage", resultmap.get("errorMessage")); }else{ LoginStaff resultVo = (LoginStaff) resultmap.get("resultVo"); request.getSession().setAttribute("loginStaff",resultVo); request.getSession().setMaxInactiveInterval(Integer.valueOf(PropertiesUtil.getProperty("sessionMaxTime"))); //查詢使用者許可權 List<SysModule> moduleList=new ArrayList<SysModule>(); moduleList=loginService.queryModuleByUid(resultVo.getUserId()); CommonCacheData.sysModuleMap.put(resultVo.getUserId(), moduleList);//初始化許可權集合 map.put("resultInfo", "1"); } return map; }
最後獲取session中使用者資訊
<pre name="code" class="html">public String reachRununit(HttpServletRequest request) { LoginStaff staff = (LoginStaff)request.getSession().getAttribute("loginStaff"); loginName=staff.getUsrName(); if(loginName==null||loginName=="") { return "login"; } return "/system/maintainanceForAdOfVip"; }