1 概述
这是一个通用权限管理系统项目,基于SSM(Spring + Spring-MVC +Mybatis)框架开发,其SQL语句持久在Hibernate 中,对原生SQL的支持较好。制作该系统的初衷是用来帮助JavaWeb开发者或初学者学习、借鉴的需要。读者可以在这个 系统基础上引入其它技术或完全依赖本系统技术进行功能拓展,来开发实际应用需求的项目,免去了应用系统中对于" 权限设计"这一部分的麻烦。
2 技术
Jsp 、SSM(Spring + Spring-MVC + Mybatis)、Shiro 、Mvc、Jdbc、MySQL、DWZ富客户端框架 + Jquery + Ajax
3 环境
JDK:JDK1.6+
WEB:Tomcat6.0+
DB:MySQL5+
IDE: MyEclipse8.5+/Eclipse4.4+
4 工程结构
5 运行截图
登录界面
员工管理界面
部门管理界面
角色管理界面
6 主要代码
员工部门管理
package com.kzfire.portal.action.user;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.kzfire.portal.base.BaseAction;
import com.kzfire.portal.entiy.SysDept;
import com.kzfire.portal.service.DeptService;
import com.kzfire.portal.service.UserService;
import com.kzfire.portal.utils.JSONUtils;
import com.kzfire.portal.utils.VoFactory;
import com.kzfire.portal.vo.ConditionVo;
@RequestMapping("/user/dept")
@Controller
public class DeptAction extends BaseAction{
@Autowired
DeptService deptService;
@Autowired
UserService userService;
/**
* 设置员工部门
* @param model
* @param request
* @param response
* @return
*/
@RequestMapping("/setUserDept")
public String setUserDept(Model model,HttpServletRequest request,HttpServletResponse response) {
String userId=request.getParameter("userId");
model.addAttribute("userId", userId);
//设置部门树
List<SysDept> list=deptService.getAllDept();
model.addAttribute("data", JSONUtils.parseList(list));
return VIEW+"user/dept/setUserDept";
}
@RequestMapping("/saveUserdept")
public ModelAndView saveUserdept(Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
Integer userId=Integer.parseInt(request.getParameter("userId"));
Integer deptId=Integer.parseInt(request.getParameter("deptId"));
deptService.saveUserdept(userId,deptId);
} catch (Exception e) {
e.printStackTrace();
return ajaxDoneError("操作失败:"+e.getMessage());
}
return ajaxDoneSuccess("操作成功");
}
@RequestMapping("/main")
public String list(Model model,HttpServletRequest request,HttpServletResponse response) {
//设置部门树
List<SysDept> list=deptService.getAllDept();
System.out.println("json格式----->" + JSONUtils.parseList(list).toString() );
model.addAttribute("data", JSONUtils.parseList(list));
return VIEW+"user/dept/dept";
}
@RequestMapping("/userList")
public String userList(Model model,HttpServletRequest request,HttpServletResponse response) {
ConditionVo cvo=VoFactory.getConditionVo(request);
String deptId=request.getParameter("deptId");
if("1".equals(deptId))
{
cvo.setText4("1");
}else
{
cvo.setText3(request.getParameter("deptId"));
}
request.setAttribute("deptId", deptId);
cvo.setTotalCount(userService.getUserCount(cvo));
model.addAttribute("vo", cvo);
model.addAttribute("list", userService.getList(cvo));
return VIEW+"user/dept/userList";
}
@RequestMapping("/add")
public String add(Model model,HttpServletRequest request,HttpServletResponse response) {
SysDept dept=new SysDept();
dept.setPid(Integer.parseInt(request.getParameter("selDept")));
model.addAttribute("dept", dept);
return VIEW+"user/dept/deptEdit";
}
@RequestMapping("/edit")
public String edit(Model model,HttpServletRequest request,HttpServletResponse response) {
SysDept dept=deptService.getDeptById(Integer.parseInt(request.getParameter("selDept")));
model.addAttribute("dept", dept);
return VIEW+"user/dept/deptEdit";
}
@RequestMapping("/del")
public ModelAndView del(Model model, HttpServletRequest request)
{
try {
String deptId=request.getParameter("selDept");
deptService.delDeptById(Integer.parseInt(deptId));
} catch (Exception e) {
e.printStackTrace();
return ajaxDoneError("操作失败:"+e.getMessage());
}
return ajaxDoneSuccess("操作成功");
}
@RequestMapping("/save")
public ModelAndView save(SysDept dept,Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
if(dept!=null)
{
deptService.saveDept(dept);
}
} catch (Exception e) {
e.printStackTrace();
return ajaxDoneError("操作失败:"+e.getMessage());
}
return ajaxDoneSuccess("操作成功");
}
}
角色管理
package com.kzfire.portal.action.user;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.kzfire.portal.base.BaseAction;
import com.kzfire.portal.entiy.SysRole;
import com.kzfire.portal.service.RoleService;
import com.kzfire.portal.utils.VoFactory;
import com.kzfire.portal.vo.ConditionVo;
import com.kzfire.portal.vo.PerGroupVo;
@RequestMapping("/user/role")
@Controller
public class RoleAction extends BaseAction{
@Autowired
RoleService roleService;
@RequestMapping("/list")
public String list(Model model,HttpServletRequest request,HttpServletResponse response) {
ConditionVo cvo=VoFactory.getConditionVo(request);
cvo.setTotalCount(roleService.getTableCount("sys_role"));
model.addAttribute("vo", cvo);
model.addAttribute("list", roleService.getList(cvo));
return VIEW+"permission/role/list";
}
/**
* 权限编辑页面
* @param model
* @param request
* @return
*/
@RequestMapping("/editPermission")
public String editPermission(Model model, HttpServletRequest request)
{
String roleId=request.getParameter("roleId");
//获取角色权限
List<PerGroupVo> group=roleService.getPerGroupVoByUserId(Integer.parseInt(roleId));
model.addAttribute("group", group);
model.addAttribute("roleId", roleId);
return VIEW+"permission/role/editPermission";
}
@RequestMapping("/savePer")
public ModelAndView savePer(Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
String[] perIds=request.getParameterValues("perId");
roleService.savePermission(perIds,Integer.parseInt(request.getParameter("roleId")));
} catch (Exception e) {
e.printStackTrace();
return ajaxDoneError("操作失败");
}
return ajaxDoneSuccess("操作成功");
}
@RequestMapping("/add")
public String add(Model model, HttpServletRequest request)
{
model.addAttribute("role", new SysRole());
return VIEW+"permission/role/roleEdit";
}
@RequestMapping("/edit")
public String edit(Model model, HttpServletRequest request)
{
String roleId=request.getParameter("roleId");
SysRole role=roleService.getRoleById(Integer.parseInt(roleId));
model.addAttribute("role", role);
return VIEW+"permission/role/roleEdit";
}
@RequestMapping("/del")
public ModelAndView del(Model model, HttpServletRequest request)
{
try {
String roleId=request.getParameter("roleId");
roleService.delRoleById(Integer.parseInt(roleId));
} catch (Exception e) {
e.printStackTrace();
return ajaxDoneError("操作失败");
}
return ajaxDoneSuccess("操作成功");
}
@RequestMapping("/save")
public ModelAndView save(SysRole role,Model model, HttpServletRequest request,
HttpServletResponse response) {
if(role!=null)
{
roleService.saveShop(role);
}
return ajaxDoneSuccess("操作成功");
}
}
7 其它说明
1、MySQL数据库账户
MySQL数据库默认端口:"3306"、数据库名:"kzfire"。
2、SQL文件
SQL文件放在"MySQL数据库SQL文件" 目录,需通过"Navicat for MySQL"工具执行此SQL文件。
3、系统启动文件
系统启动文件是"webroot"目录下的"login.jsp"。
4、系统登录用户名及密码
"login.jsp"启动(运行)后,正常情况下进入登录界面,用户名输入"admin",密码输入"123456"。如果登录不进去,很有可能是数据库参数配置问题导致,请检查数据库参数配置文件,数据库参数配置文件放。
8 源码下载
关注公众号【C you again】,回复"基于SSM框架的JavaWeb通用权限管理系统"下载源码。
说明:此源码来源于网络,若有侵权,请联系删除!!
参考文献
- 通用企业级权限管理系统的分析与设计(北京邮电大学·常学文)
- 通用权限管理系统研究与应用(电子科技大学·杨莹莹)
- PCM项目管理系统设计与实现(吉林大学·张翰)
- 物业管理诚信体系信息化平台的设计与建设(上海交通大学·贾琦)
- 面向业务的应用支撑平台安全管理体系设计与实现(山东大学·阮静)
- 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
- 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
- 基于工作流的项目管理系统的设计与实现(华中科技大学·袁晓军)
- 基于.NET技术下Web应用的RBAC权限研究与应用(华南理工大学·王畅)
- 面向中小企业的项目管理系统设计与开发(南京理工大学·王军)
- 基于SSM框架的资质管理系统开发(首都经济贸易大学·田国兵)
- 面向产品设计的PDM系统的设计与实现(大连理工大学·李功健)
- 基于SAN的存储管理软件的设计与实现(西北工业大学·可彦)
- 一种改进的权限管理框架的研究与应用(华中科技大学·杨靖)
- 基于SAN的存储管理软件的设计与实现(西北工业大学·可彦)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码工厂 ,原文地址:https://m.bishedaima.com/yuanma/35674.html