三大框架整合的配置文件信息可下载;
做权限设置的过滤器代码:过滤器在web.xml中的配置在下面的压缩包中
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.wepull.hrms.dto.UserDto;
/**
* 过滤器类,用来做权限设置
* @author 康苗
*
*/
public class SecureFilter implements Filter {
List<String> urlList = new ArrayList<String>();
public void destroy() {
}
/**拦截特定的请求
* 先取session中的用户信息角色所对应的权限urls
* 获取当前请求的url
* 然后做判断 是否在urls中
* */
public void doFilter(ServletRequest req, ServletResponse resp,FilterChain chain)
throws IOException, ServletException {
HttpServletRequest h_req = (HttpServletRequest) req;
HttpServletResponse h_resp = (HttpServletResponse) resp;
h_req.setCharacterEncoding("UTF-8");
h_resp.setCharacterEncoding("UTF-8");
//获得session中用户的信息
HttpSession session = h_req.getSession();
UserDto userDto = (UserDto) session.getAttribute("userInfo");
String uri = h_req.getRequestURI().substring(1);
uri = uri.substring(uri.indexOf("/"));
System.out.println("uri:-------" + uri);
if("/".equals(uri)) {
chain.doFilter(h_req, h_resp);
return;
}
if (urlList.contains(uri)){
chain.doFilter(h_req, h_resp); return;
}
if (userDto != null) {
if(1==userDto.getRoleDto().getId()){
chain.doFilter(h_req, h_resp);
return;
}else if (userDto.getUrls() != null) {
if (userDto.getUrls().contains(uri)) {
chain.doFilter(h_req, h_resp);
return;
} else {
String str = "<script laguage='JavaScript'> alert('对不起!你无权操作!');window.history.go(-1);</script>";
h_req.setAttribute("message", str);
h_req.getRequestDispatcher("../welcome.jsp").forward(h_req,h_resp);
return;
}
} else {
String str = "<script laguage='JavaScript'> alert('你没有权限!请联系系统管理员!');</script>";
h_req.setAttribute("message", str);
h_req.getRequestDispatcher("../welcome.html").forward(h_req,h_resp);
return;
}
} else {
//如果session为空 就返回登录页面
//String str = "<script laguage='JavaScript'> alert('你还没登录!请登录!');</script>";
//h_req.setAttribute("message", str);
//h_req.getRequestDispatcher("../login.jsp").forward(h_req,h_resp);
h_resp.sendRedirect("../toquit.jsp");
return;
}
}
public void init(FilterConfig filterconfig) throws ServletException {
System.out.println("执行 过滤器的init方法----------------------");
//初始化时将不进行过滤的页面添加到一个集合里
urlList.clear();
urlList.add("/system/login-doLogin");
urlList.add("/system/login-doQuit");
urlList.add("/login.jsp");
urlList.add("/index.jsp");
urlList.add("/header.jsp");
urlList.add("/welcome.jsp");
urlList.add("/error.jsp");
urlList.add("/error1.jsp");
urlList.add("/tologin.jsp");
urlList.add("/toquit.jsp");
}
}
分享到:
相关推荐
首先,"HRMS.rar"是一个包含完整源代码的压缩包,用于搭建基于SSH(Struts2、Spring、Hibernate)的企业级人力资源管理系统。SSH是Java Web开发中广泛使用的三大框架,它们各自负责不同的职责:Struts2作为表现层...
2014最近做好的学期项目hr 带数据 JSP页面 完全能运行 带有完整的libs jar包 J2EE SSH Ajax easyUI 带有上传功能 自动菜单生成 登录验证 员工管理 薪资管理 培训管理 招聘管理 等等
测试数据用于模拟真实环境,验证系统功能和性能,而配置文件则包含数据库连接信息、系统设置等,确保HRMS能够正确连接到Oracle数据库。 总之,Oracle数据库在HRMS系统中的作用不可忽视,它为高效的人力资源管理提供...
4. **配置文件**:如`web.xml`,这是Web应用的部署描述符,定义了Servlet的映射、初始化参数、过滤器和监听器等。 5. **数据库脚本**:如`hrms.sql`,用于创建和初始化数据库表结构。 6. **资源文件**:如图片、...
SSM_HRMS-master.zip是一个压缩包文件,其中包含了基于Spring、Spring MVC和MyBatis框架开发的一个完整的HRMS(人力资源管理系统)项目。这个系统主要实现了CRUD(创建、读取、更新、删除)功能,是Java Web开发中的...
【标题】"HRMS.zip_HRMS"是一个与人力资源管理系统(HRMS)相关的压缩文件,其中包含了关于项目的信息,特别是涉及到使用JSP(JavaServer Pages)进行开发的元素。JSP是一种动态网页技术,允许开发者在HTML代码中...
在实现阶段,我们首先配置SSH框架,设置Struts2的配置文件,定义Action类来处理请求。然后,利用Spring管理Bean,定义服务接口和服务实现,进行业务逻辑处理。最后,通过Hibernate操作数据库,完成数据的增删改查。 ...
2. 权限管理:设置不同级别的用户权限,防止未授权访问或修改数据。 3. 数据备份与恢复策略:定期备份数据库,以应对意外情况,同时利用ldf日志文件进行事务回滚或灾难恢复。 4. 性能优化:如使用索引提高查询速度,...
本压缩包文件"HRMS.rar_HRMS"包含了有关HRMS的基本信息和可能的源代码或文档,虽然描述中提到内容可能不够完善,但仍然可以作为我们学习和理解HRMS的一个起点。 HRMS系统通常包括以下几个核心功能模块: 1. 员工...
《深入解析:人力资源管理系统HRMS的设计与实现》 在当今的企业运营中,人力资源管理系统的角色愈发重要,它已经成为企业管理的核心工具之一。本文将基于“人力资源管理系统HRMS”的设计与实现,详细探讨类图、用例...
4. **权限与安全**:HRMS系统需要具备严格的权限控制,以保护敏感信息。通过角色和权限分配,不同级别的员工可以访问不同的功能模块,确保信息安全。同时,系统应具备加密传输、防止SQL注入等安全措施,保障数据安全...
4. 配置文件:存储系统设置和参数。 5. 文档:包括用户手册、开发者指南、安装教程等,帮助用户理解和使用系统。 6. 图像和资源文件:如logo、图标等视觉元素。 7. 测试脚本和数据:用于系统测试,确保功能的正确性...
《GTC.HRMS-9.0考勤软件使用说明书》是针对GTC.HRMS 9.0版本考勤管理系统的详细指南,旨在帮助用户理解并熟练掌握该软件的各项功能和操作流程。本说明书采用HTML和Word两种格式提供,方便用户在不同设备和环境下阅读...
"HRMS.CON"可能代表系统配置文件,用于设置系统参数;"msword9.cpp"和"FileRecord.cpp"可能涉及系统文档处理和记录存储功能;"TimeCardList.cpp"则可能与考勤记录和工时统计有关,这些都是HRMS系统不可或缺的组件。 ...
同时,通过权限设置,确保信息安全,避免数据泄露。 其次,HRMS在薪资管理方面具有显著优势。系统可以自动计算员工的工资、奖金、福利等,根据预设的规则进行调整,减少了人为错误,提高了薪酬计算的准确性。同时,...
安装"Setup"文件的过程通常包括以下步骤:下载安装包,双击运行,按照向导提示进行安装,设置服务器配置,数据库连接,最后完成初始化设置。在安装过程中,确保计算机符合系统需求,如操作系统版本、内存大小和硬盘...
java开发的HRMS(Human Resource Management System)是人力资源管理的一个发展方向,人力资源管理系统从系统学理论的角度对人力资源管理进行阐释,注重在人力资源管理的各个方面的系统规划、设计运作,并在企业管理...
8. **权限管理**:设置不同级别的访问权限,确保敏感信息的安全。例如,员工只能查看自己的信息,而管理层则可以查看整个团队的数据。 在本Demo中,尽管样式设计简单,但其功能完整性可以提供基本的人力资源管理...