Search in sources :

Example 6 with SysUser

use of com.hxkj.system.model.SysUser in project my_curd by qinyou.

the class WebSocketServer method onOpen.

/**
 * 建立 ws 连接
 *
 * @param session
 */
@OnOpen
public void onOpen(Session session) {
    // 输出默认信息
    LOG.debug("==basicRemote:   " + session.getBasicRemote());
    LOG.debug("==maxTextMessageBufferSize: " + session.getMaxTextMessageBufferSize());
    LOG.debug("==maxBinaryMessageBufferSize:  " + session.getMaxBinaryMessageBufferSize());
    // 设置 无操作超时时间为10秒, 默认为0 表示不自动超时
    session.setMaxIdleTimeout(10);
    LOG.debug("==maxIdleTimeout: " + session.getMaxIdleTimeout());
    // url参数
    String queryString = session.getQueryString();
    String userId = queryString.split("=")[1];
    SysUser sysUser = SysUser.dao.findById(userId);
    if (sysUser != null) {
        LOG.info(sysUser.getName() + " -- 上线了");
        broadcast(sysUser.getName() + "---上线了");
        sIdMUid.put(session.getId(), userId);
        sIdMSession.put(session.getId(), session);
    } else {
        try {
            session.close();
        } catch (IOException e) {
            LOG.error(e.getMessage());
        }
    }
}
Also used : SysUser(com.hxkj.system.model.SysUser) IOException(java.io.IOException)

Example 7 with SysUser

use of com.hxkj.system.model.SysUser in project my_curd by qinyou.

the class WebSocketServer method onClose.

/**
 * 关闭 ws 连接
 *
 * @param session
 */
@OnClose
public void onClose(Session session) {
    String sessionId = session.getId();
    // 保证存在
    String userId = sIdMUid.get(sessionId);
    sIdMSession.remove(sessionId);
    sIdMUid.remove(sessionId);
    SysUser sysUser = SysUser.dao.findById(userId);
    if (sysUser != null) {
        LOG.debug(sysUser.getName() + "  --下线了");
        broadcast(sysUser.getName() + " ---下线了");
    }
}
Also used : SysUser(com.hxkj.system.model.SysUser)

Example 8 with SysUser

use of com.hxkj.system.model.SysUser in project my_curd by qinyou.

the class WebSocketServer method onError.

/**
 * 其它方法发生异常 会触发此方法
 *
 * @param session
 * @param t
 */
@OnError
public void onError(Session session, Throwable t) {
    LOG.error(t.getMessage());
    try {
        session.close();
    } catch (IOException e) {
        LOG.error(e.getMessage());
    }
    String sessionId = session.getId();
    // 保证存在
    String userId = sIdMUid.get(sessionId);
    sIdMSession.remove(sessionId);
    sIdMUid.remove(sessionId);
    SysUser sysUser = SysUser.dao.findById(userId);
    if (sysUser != null) {
        LOG.debug(sysUser.getName() + " --发生异常下线了");
        broadcast(sysUser.getName() + " ---发生异常下线了");
    }
}
Also used : SysUser(com.hxkj.system.model.SysUser) IOException(java.io.IOException)

Example 9 with SysUser

use of com.hxkj.system.model.SysUser in project my_curd by qinyou.

the class SysChangePasswordController method changePwdAction.

@Before(Tx.class)
public void changePwdAction() {
    SysUser curUser = getSessionUser();
    String oldPassword = getPara("oldPwd");
    String newPassword = getPara("newPwd");
    oldPassword = HashKit.sha1(oldPassword);
    SysUser sysUser = SysUser.dao.findByUsernameAndPassword(curUser.getUsername(), oldPassword);
    if (sysUser == null) {
        renderText("旧密码错误!");
        return;
    }
    if (sysUser.getDisabled().equals("1")) {
        renderText("用户被禁用,无法修改密码!");
        return;
    }
    newPassword = HashKit.sha1(newPassword);
    sysUser.setPassword(newPassword);
    boolean updateFlag = sysUser.update();
    // 添加操作日志
    addOpLog(oldPassword + " 修改为新密码:" + newPassword);
    if (updateFlag) {
        renderText("修改密码成功");
    } else {
        renderText("修改密码失败");
    }
}
Also used : SysUser(com.hxkj.system.model.SysUser) Before(com.jfinal.aop.Before)

Example 10 with SysUser

use of com.hxkj.system.model.SysUser in project my_curd by qinyou.

the class LoginController method index.

/**
 * 登录页面
 */
public void index() {
    String username = getCookie(usernameKey);
    String password = getCookie(passwordKey);
    LOG.debug("username from cookie: " + username);
    LOG.debug("password from cookie:+" + password);
    if (username != null && password != null) {
        SysUser sysUser = SysUser.dao.findByUsernameAndPassword(username, password);
        // 用户名密码正确且未被禁用
        if (sysUser != null && !sysUser.getDisabled().equals("1")) {
            setSessionAttr(Constant.SYSTEM_USER, sysUser);
            setSessionAttr(Constant.SYSTEM_USER_NAME, sysUser.getName());
            SysUserRole sysUserRole = SysUserRole.dao.findRolesByUserId(sysUser.getId());
            if (sysUserRole != null) {
                setSessionAttr(Constant.SYSTEM_USER_ROLES, sysUserRole.get("roleNames"));
                setSessionAttr(Constant.SYSTEM_USER_ROLES, sysUserRole.get("roleNames"));
                LoginService loginService = Duang.duang(LoginService.class);
                List<SysMenu> userMenus = loginService.getUserMenu(sysUserRole.get("roleIds"));
                setSessionAttr(Constant.OWN_MENU, userMenus);
            }
            addOpLog("通过 cookie 登录");
            redirect("/main");
            return;
        }
    }
    render("login.html");
}
Also used : SysUser(com.hxkj.system.model.SysUser) SysMenu(com.hxkj.system.model.SysMenu) SysUserRole(com.hxkj.system.model.SysUserRole)

Aggregations

SysUser (com.hxkj.system.model.SysUser)15 Before (com.jfinal.aop.Before)3 SysMenu (com.hxkj.system.model.SysMenu)2 SysNews (com.hxkj.system.model.SysNews)2 SysUserRole (com.hxkj.system.model.SysUserRole)2 IOException (java.io.IOException)2 SysFile (com.hxkj.system.model.SysFile)1 WebSocketHandler (com.hxkj.websocket.handler.WebSocketHandler)1 ContextPathHandler (com.jfinal.ext.handler.ContextPathHandler)1 Record (com.jfinal.plugin.activerecord.Record)1 DruidStatViewHandler (com.jfinal.plugin.druid.DruidStatViewHandler)1 IDruidStatViewAuth (com.jfinal.plugin.druid.IDruidStatViewAuth)1 JsonRender (com.jfinal.render.JsonRender)1 UploadFile (com.jfinal.upload.UploadFile)1 File (java.io.File)1 SimpleDateFormat (java.text.SimpleDateFormat)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1