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());
}
}
}
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() + " ---下线了");
}
}
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() + " ---发生异常下线了");
}
}
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("修改密码失败");
}
}
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");
}
Aggregations