科讯人力资源管理系统
项目演示地址:http://demo.kexunsoftware.com/login
账号:lidong 密码:123
注:若访问报错或者无法访问,可与我联系修复
微信:kexunsoftware QQ:3275208135
项目使用到的技术及项目运行环境
主要技术:
java spring mybatis mysql jsp layui ajax ssm
运行环境:
java8 maven3.6.1 mysql5.7 idea
项目启动步骤:
- 将项目导入到开发工具 这里推荐使用idea (eclipse也可以)配置好idea maven本地仓库及配置文件(入已配置略过此步骤)配置好maven后 找到hr-parent父项目 先执行clear操作导入sql脚本 使用记事本打开复制到可视化工具或者使用可视化工具直接导入 接下来创建数据库名为hr 执行sql脚本找到hr-dao>src>main>resources>jdbc.properties 将username,password 修改为自己数据库的用户名和密码找到启动按钮>Edit Configurations…>点击左上角+找到Tomcat Server 选择Local
添加成功后在点击Deployment 点击右边的+ 选择第一个Artifact >选择hr-web:war exploded 点击ok>点击右下角的apply>点击ok点击启动按钮启动项目
注意:如启动不了可能是端口占用,可到启动配置里面修改端口
启动视频教程: 视频教程
gitee源码地址: https://gitee.com/gdianqimeng/hr
部分功能截图:
首页菜单功能:
验证授权实现代码:
//授权
public class AuthorInterceptor extends HandlerInterceptorAdapter {
//授权拦截器
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println(">>>>>>授权拦截器");
//获取当前访问的地址
String path = request.getServletPath();
//加上项目的名字 数据库了存放的地址都有项目 的地址
path = path;
System.out.println("您正在访问的地址为" + path);
//获取session
HttpSession session = request.getSession();
//获取登录的时候存入用户对象
Users user = (Users) session.getAttribute("user");
//首先判断是否登录
if (user != null) {
List rights = user.getuRole().getRoleRights();
//排除的链接
if ("/right/rights".equals(path)) {
return true;
}
//存放权限链接
HashSet set = new HashSet();
//将所有的地址存入se他集合
for (Right right : rights) {
set.add(right.getUrl());
}
boolean contains = set.contains(path);
System.out.println("是否拥有该界面的访问权限>>>>>>>" + contains);
//判断该用户是否拥有该权限
if (contains) {
//有 放行
return true;
} else {
//没有 判断是ajax请求还是普通的请求
if (request.getHeader("x-requested-with") != null
&& request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) {
//ajax请求放回 json数据
response.setContentType("application/json;charset=utf-8");
PrintWriter out = response.getWriter();
out.write("{"code":"500","message":"您暂未权限访问此地址"}");
return false;
} else {
//普通请求返回 登录界面
response.sendRedirect("/hr/login");
return false;
}
}
} else {
//未登录
System.out.println("未登录");
if (request.getHeader("x-requested-with") != null
&& request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) {
response.setContentType("application/json;charset=utf-8");
PrintWriter out = response.getWriter();
out.write("{"code":"500","message":"未登录"}");
return false;
} else {
response.sendRedirect("/hr/login");
return false;
}
}
}
}
public class LoginInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println(">>>>>>登录拦截器");
//获取session
HttpSession session = request.getSession();
//获取登录的时候存入用户对象
Users user = (Users) session.getAttribute("user");
//首先判断是否登录
if (user != null) {
return true;
} else {
//未登录
System.out.println("未登录");
if (request.getHeader("x-requested-with") != null
&& request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) {
response.setContentType("application/json;charset=utf-8");
PrintWriter out = response.getWriter();
out.write("{"code":"500","message":"未登录"}");
return false;
} else {
// response.sendRedirect("/hr/login");
PrintWriter out = response.getWriter();
out.println("");
out.close();
return false;
}
}
}
}



