基于javaweb+springboot的人脸识别登录系统(java+springboot+maven+mysql)

实现的功能有:
管理员后台录入人脸信息、前台用户登录时选择人脸识别方式登录。
PS:用到了百度人脸识别的API接口,包括人脸检测、人脸识别对比等。请添加图片描述
请添加图片描述
请添加图片描述

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

			return Result.error(codeMsg);
		}
		//此处判断人脸可信度
		JSONObject result = parseObject.getJSONObject("result");
		if(result.getIntValue("face_num") > 1){
			return Result.error(CodeMsg.ADMIN_USE_FACE_NUMBER_ERROR);
		}
		JSONArray faceList = result.getJSONArray("face_list");
		JSONObject face = faceList.getJSONObject(0);
		if(face.getFloatValue("face_probability") < 0.8){
			return Result.error(CodeMsg.ADMIN_USE_FACE_PROB_LOW);
		}
		existUser.setFace(user.getFace());
		//到这说明一切符合条件,进行数据库新增
		if(userService.save(existUser) == null){
			return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);
		}
		operaterLogService.add("录入用户人脸信息");
		return Result.success(true);
	}
	
	/**
	@Autowired
	private OperaterLogService operaterLogService;
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private DatabaseBakService databaseBakService;
	private Logger log = LoggerFactory.getLogger(SystemController.class);
	
	/**
	 * 登录页面
	 * @param name
	 * @param model
	public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
		try {
			roleService.delete(id);
		} catch (Exception e) {
			// TODO: handle exception
			return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);
		}
		log.info("编辑角色ID【"+id+"】");
		operaterLogService.add("删除角色ID【"+id+"】");
		return Result.success(true);
	}
}
系统控制器:
/**
 * 系统控制器
 * @author yy
 *
 */
@RequestMapping("/system")
@Controller
public class SystemController {
	
		return "admin/user/add_face";
	}
	
	/**
	 * 录入人脸信息
	 * @param user
	 * @return
	 */
	@RequestMapping(value="/add_face",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> addFace(User user){
		//判断是否有人脸信息
		if(StringUtils.isEmpty(user.getFace())){
			return Result.error(CodeMsg.ADMIN_USE_ADD_FACE_ERROR);
		}
	public Result<Boolean> delete(String ids){
		if(!StringUtils.isEmpty(ids)){
			String[] splitIds = ids.split(",");
			for(String id : splitIds){
				operaterLogService.delete(Long.valueOf(id));
			}
		}
		return Result.success(true);
	}
	/**
	 * 清空整个日志
	 * @return
	 */
	@RequestMapping(value="/delete_all_operator_log",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> deleteAll(){
		operaterLogService.deleteAll();
		return Result.success(true);
	}
}
后台用户管理控制器:
/**
		}
		operaterLogService.add("编辑用户,用户名:" + user.getUsername());
		return Result.success(true);
	}
	
	/**
	 * 删除用户
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/delete",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
		try {
			userService.delete(id);
		} catch (Exception e) {
			return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);
		}
		operaterLogService.add("添加用户,用户ID:" + id);
		return Result.success(true);
	}
}
后台角色管理控制器:
/**
 * 后台角色管理控制器
	@RequestMapping(value="/add",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> add(Role role){
		//用统一验证实体方法验证是否合法
		CodeMsg validate = ValidateEntityUtil.validate(role);
		if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
			return Result.error(validate);
		}
		if(roleService.save(role) == null){
			return Result.error(CodeMsg.ADMIN_ROLE_ADD_ERROR);
		}
		log.info("添加角色【"+role+"】");
		operaterLogService.add("添加角色【"+role.getName()+"】");
		return Result.success(true);
	}
	
	/**
	 * 角色编辑页面
	 * @param id
	 * @param model
	 * @return
	 */
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/add",method=RequestMethod.GET)
	public String add(Model model){
		List<Menu> findAll = menuService.findAll();
		model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));
		model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));
		model.addAttribute("thirdMenus",MenuUtil.getThirdMenus(findAll));
		return "admin/role/add";
	}
	
	/**
	 * 角色添加表单提交处理
	 * @param role
	 * @return
	 */
	 */
	@RequestMapping(value="/add_face",method=RequestMethod.GET)
	public String addFace(Model model,@RequestParam(name="id",required=true)Long id){
		model.addAttribute("user", userService.find(id));
		return "admin/user/add_face";
	}
	
	/**
	 * 录入人脸信息
	 * @param user
	 * @return
	 */
	@RequestMapping(value="/add_face",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> addFace(User user){
		//判断是否有人脸信息
		return "admin/user/list";
	}
	
	/**
	 * 新增用户页面
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/add",method=RequestMethod.GET)
	public String add(Model model){
		model.addAttribute("roles", roleService.findAll());
		return "admin/user/add";
	}
	
	/**
	 * 录入人脸信息
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/add_face",method=RequestMethod.GET)
	public String addFace(Model model,@RequestParam(name="id",required=true)Long id){
		userService.save(loginedUser);
		//更新session
		SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);
		return Result.success(true);
	}
	
	/**
	 * 日志管理列表
	 * @param model
	 * @param operaterLog
	 * @param pageBean
	 * @return
	 */
	@RequestMapping(value="/operator_log_list")
	public String operatorLogList(Model model,OperaterLog operaterLog,PageBean<OperaterLog> pageBean){
		model.addAttribute("pageBean", operaterLogService.findList(operaterLog, pageBean));
		model.addAttribute("operator", operaterLog.getOperator());
		model.addAttribute("title", "日志列表");
		return "admin/system/operator_log_list";
	}
	

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值