登录与退出

1、登录

    /**
     * 方法描述    登录校验
     * @param userInfo
     * @param session
     * @return
     */
    @ResponseBody
    @RequestMapping(value="doLogin.json")
    public AjaxResult doLogin(UserInfo userInfo,HttpSession session,HttpServletRequest request,HttpServletResponse response){
        String[] checkbox= request.getParameterValues("remember[]");
        AjaxResult ret = new AjaxResult(false);
        try {
            String loginname = userInfo.getLoginname();
            if(GeneralHelperUtil.checkTrimStrNotEmpty(loginname)){
                String password = "";
                if(userInfo.getPassword().length()==32){
                    password = userInfo.getPassword();
                }else{
                    password = MD5Util.encode(userInfo.getPassword());
                }
                userInfo=webSiteBO.hasMatchUser(loginname,password);
                if(userInfo!=null&&"1".equals(userInfo.getStatus())){
                    //记住密码
                    if(checkbox!=null&&checkbox.length>0){
                        if("on".equals(checkbox[0])){
                            Cookie cookie = new Cookie("NJDX_USER", loginname+"#"+userInfo.getPassword());
                            cookie.setMaxAge(60*60*24*15);//记住密码15天
                            cookie.setPath(request.getContextPath()+"/");
                            response.addCookie(cookie);
                        }
                        //清除记住密码Cookie
                    }else{
                        Cookie cookie = new Cookie("NJDX_USER", "");
                        cookie.setMaxAge(-1);
                        cookie.setPath(request.getContextPath()+"/");
                        response.addCookie(cookie);
                    }
                    userInfo.setPassword("");
                    this.setQTCurUserInfo(userInfo, session);
                    LogManager info = new LogManager();
                    info.setLogtype("2");
                    info.setCzrid(this.getQTCurUserInfo(session).getId());
                    info.setCzlx("1");
                    info.setCzrname(this.getQTCurUserInfo(session).getLoginname());
                    info.setCzzt("登录");
                    info.setCzsm("用户登录系统成功");
                    LogManagerBO.saveLogManager(info);
                    ret.setSuccess(true);
                }else if(userInfo!=null&&"2".equals(userInfo.getStatus())){
                    ret.setMsg("账号已被冻结");
                }else if(userInfo!=null&&"3".equals(userInfo.getStatus())){
                    ret.setMsg("账号已被删除");
                }else{
                    ret.setMsg("用户名或密码错误");
                }
            }
        } catch (Exception e) {
            logger.error(this,e);
            SaveSystemError.saveSystemError(e);
        }
        return ret;
    }

2、退出

    /**
     * 方法描述    用户退出
     * @param session
     * @return
     */
    @ResponseBody
    @RequestMapping(value="dologout.json")
    public AjaxResult dologout(HttpSession session){
        AjaxResult ajaxResult = new AjaxResult(false);
        try {
            LogManager info = new LogManager();
            info.setLogtype("2");
            info.setCzrid(this.getQTCurUserInfo(session).getId());
            info.setCzlx("1");
            info.setCzrname(this.getQTCurUserInfo(session).getLoginname());
            info.setCzzt("登出");
            info.setCzsm("用户登出系统成功");
            session.removeAttribute(SSOCommonInfo.SESSION_QTUSER_CONTEXT_NAME);
            LogManagerBO.saveLogManager(info);
            ajaxResult.setSuccess(true);
        } catch (Exception e) {
            logger.error(this, e);
            SaveSystemError.saveSystemError(e);
            ajaxResult.setMsg("退出失败");
        }
        return ajaxResult;
    }

 

posted @ 2017-07-27 16:16  jassy  阅读(360)  评论(0编辑  收藏  举报