当前位置: 首页 > wzjs >正文

企业网站怎么备案企业网上管理系统

企业网站怎么备案,企业网上管理系统,专业网络推广策划,旅行社网站建设规划书一.完善登录功能 我们修改密码为md5中的格式,那么就需要修改数据库中的密码和将从前端获取到的密码转化成md5格式,然后进行比对。比对成功则登录成功,失败则禁止登录。 二.md5格式 使用DigestUtils工具类进行md5加密,调用md4Dig…

一.完善登录功能

 

我们修改密码为md5中的格式,那么就需要修改数据库中的密码和将从前端获取到的密码转化成md5格式,然后进行比对。比对成功则登录成功,失败则禁止登录。

二.md5格式 

使用DigestUtils工具类进行md5加密,调用md4DigestAsHex()方法将密码加密成md5格式。

package com.sky.service.impl;import com.sky.constant.MessageConstant;
import com.sky.constant.StatusConstant;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.entity.Employee;
import com.sky.exception.AccountLockedException;
import com.sky.exception.AccountNotFoundException;
import com.sky.exception.PasswordErrorException;
import com.sky.mapper.EmployeeMapper;
import com.sky.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;@Service
public class EmployeeServiceImpl implements EmployeeService {@Autowiredprivate EmployeeMapper employeeMapper;/*** 员工登录** @param employeeLoginDTO* @return*/public Employee login(EmployeeLoginDTO employeeLoginDTO) {String username = employeeLoginDTO.getUsername();String password = employeeLoginDTO.getPassword();//1、根据用户名查询数据库中的数据Employee employee = employeeMapper.getByUsername(username);//2、处理各种异常情况(用户名不存在、密码不对、账号被锁定)if (employee == null) {//账号不存在throw new AccountNotFoundException(MessageConstant.ACCOUNT_NOT_FOUND);}//密码比对// 对前端传过来的明文密码进行md5加密password = DigestUtils.md5DigestAsHex(password.getBytes());if (!password.equals(employee.getPassword())) {//密码错误throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);}if (employee.getStatus() == StatusConstant.DISABLE) {//账号被锁定throw new AccountLockedException(MessageConstant.ACCOUNT_LOCKED);}//3、返回实体对象return employee;}}

三.工具技巧

1.如果我们有待修改的代码,一时无法完成,需要做一个标记以防忘记。可以使用TODO标签。在注释当中使用TODO,如

// TODO 后期需要进行md5加密,然后进行比对

这样的话通过idea的TODO标签可以定位到待修改的代码,然后完成修改以防忘记。

在待办事项完成后删除//TODO注释即可。

2.如果我们数据库中使用的是md5加密后的密码,但是前端传递过来的是原密码,那么就会出现密码错误异常,被全局异常处理器捕获。这里我们定义抛出PasswordErrorException异常

package com.sky.exception;/*** 密码错误异常*/
public class PasswordErrorException extends BaseException {public PasswordErrorException() {}public PasswordErrorException(String msg) {super(msg);}}

该异常需要接受一个String类型的字符串,我们通过集中定义信息常量提示类来定义各种异常的提示信息。

package com.sky.constant;/*** 信息提示常量类*/
public class MessageConstant {public static final String PASSWORD_ERROR = "密码错误";public static final String ACCOUNT_NOT_FOUND = "账号不存在";public static final String ACCOUNT_LOCKED = "账号被锁定";public static final String UNKNOWN_ERROR = "未知错误";public static final String USER_NOT_LOGIN = "用户未登录";public static final String CATEGORY_BE_RELATED_BY_SETMEAL = "当前分类关联了套餐,不能删除";public static final String CATEGORY_BE_RELATED_BY_DISH = "当前分类关联了菜品,不能删除";public static final String SHOPPING_CART_IS_NULL = "购物车数据为空,不能下单";public static final String ADDRESS_BOOK_IS_NULL = "用户地址为空,不能下单";public static final String LOGIN_FAILED = "登录失败";public static final String UPLOAD_FAILED = "文件上传失败";public static final String SETMEAL_ENABLE_FAILED = "套餐内包含未启售菜品,无法启售";public static final String PASSWORD_EDIT_FAILED = "密码修改失败";public static final String DISH_ON_SALE = "起售中的菜品不能删除";public static final String SETMEAL_ON_SALE = "起售中的套餐不能删除";public static final String DISH_BE_RELATED_BY_SETMEAL = "当前菜品关联了套餐,不能删除";public static final String ORDER_STATUS_ERROR = "订单状态错误";public static final String ORDER_NOT_FOUND = "订单不存在";}

在密码错误时抛出 PasswordErrorException异常,并传入MessageConstant中定义的常量PASSWORD_ERROR = “密码错误”;

if (!password.equals(employee.getPassword())) {//密码错误throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);
}

将该信息向上抛给BaseException

package com.sky.exception;/*** 业务异常*/
public class BaseException extends RuntimeException {public BaseException() {}public BaseException(String msg) {super(msg);}}

再抛给运行时异常RuntimeException。


文章转载自:

http://N3tIpkt6.drytb.cn
http://Lk8oagW7.drytb.cn
http://33Dgtc5w.drytb.cn
http://iJs6GfGq.drytb.cn
http://lzkwEySs.drytb.cn
http://lg6ZD9kY.drytb.cn
http://rjkurQDu.drytb.cn
http://WvaZR7Om.drytb.cn
http://WmmFkozV.drytb.cn
http://UllZdZHu.drytb.cn
http://bfh0I6ws.drytb.cn
http://S6XNsJS6.drytb.cn
http://QDmNHD3Y.drytb.cn
http://E6MV8sxR.drytb.cn
http://BzyVipbO.drytb.cn
http://hmhMHrIh.drytb.cn
http://U0VnNAkY.drytb.cn
http://H2sjnWfU.drytb.cn
http://wtezi0Pg.drytb.cn
http://ttYz5oB7.drytb.cn
http://b4MkdvsR.drytb.cn
http://Eye5grcI.drytb.cn
http://YIrd7mx8.drytb.cn
http://GY1G0yDu.drytb.cn
http://k1Gfocjc.drytb.cn
http://Nfafbezk.drytb.cn
http://u0IPaxUo.drytb.cn
http://Dptvu13F.drytb.cn
http://zHoolvwZ.drytb.cn
http://sSzEF6D3.drytb.cn
http://www.dtcms.com/wzjs/721882.html

相关文章:

  • 深圳的网站建设公司价格企业网站管理系统怎么修改密码
  • 展示型网站建设流程方案婚庆公司包含哪些项目
  • 长沙网站快速排名提升wordpress rpc 评论
  • 东台做网站wordpress提示窗
  • app 排名网站浦东新区消息今天
  • 沈阳整站优化网站登陆系统怎么做
  • 网站效果如何制作百度网站地图
  • 网站后台管理程序下载网站搭建项目描述
  • 重庆模板建站软件是计算机网页制作工具
  • 建设网站 托管 费用网站接入变更
  • 企业产品网站源码wordpress最新文章id
  • 设计风格网站泰安网站建设报价
  • 无锡网站制作.30个无加盟费的项目
  • 温州人才网站开发深圳有哪些外贸公司
  • 关于建设旅游网站的书籍企业信用网查询系统
  • 做国外网站什么好中国建筑官网一测
  • 苏州做网站便宜的公司哪家好北京软件开发公司排
  • php的网站数据库如何上传wordpress记录点击数
  • 想做网站建设直接点击链接就能玩的小游戏
  • 山东人才招聘网seo模拟点击算法
  • 哪些招聘网站做海外招聘网站整站程序
  • 邢台做移动网站多少钱凡科建设的网站如何
  • 国外h5制作网站温州十大网络公司排名
  • 简单网站制作教程小工具文本wordpress
  • 制作网站需要什么知识王也夫
  • 河南省建设厅注册中心网站首页做茶叶网站的目的和规划
  • 网站开发公司怎么选择爱客是什么牌子档次
  • 博罗做网站公司网址你懂我意思正能量不用下载
  • 网上自学平台郑州哪里培训网站建设优化好一点
  • 手机网站快速建设wordpress怎么社交分享