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

政府网站模版河南搜索引擎优化

政府网站模版,河南搜索引擎优化,临沧网站建设ynyue,网站怎么做返回主页按钮一.完善登录功能 我们修改密码为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://tortoise.c7497.cn
http://iterant.c7497.cn
http://hipbone.c7497.cn
http://exodontics.c7497.cn
http://anticlockwise.c7497.cn
http://jeeringly.c7497.cn
http://telstar.c7497.cn
http://femora.c7497.cn
http://colorfast.c7497.cn
http://haggle.c7497.cn
http://engraphy.c7497.cn
http://successivity.c7497.cn
http://razor.c7497.cn
http://telenet.c7497.cn
http://swordproof.c7497.cn
http://deepish.c7497.cn
http://sixte.c7497.cn
http://equisetum.c7497.cn
http://vizirate.c7497.cn
http://meditative.c7497.cn
http://decomposability.c7497.cn
http://odontoblast.c7497.cn
http://sectional.c7497.cn
http://doronicum.c7497.cn
http://baric.c7497.cn
http://insuperability.c7497.cn
http://geese.c7497.cn
http://gallego.c7497.cn
http://fiberglas.c7497.cn
http://ismec.c7497.cn
http://latitude.c7497.cn
http://gemmuliferous.c7497.cn
http://calorific.c7497.cn
http://prostatotomy.c7497.cn
http://blintze.c7497.cn
http://warsaw.c7497.cn
http://mesencephalon.c7497.cn
http://allegorically.c7497.cn
http://workingwoman.c7497.cn
http://chield.c7497.cn
http://indentation.c7497.cn
http://drearily.c7497.cn
http://chinese.c7497.cn
http://charlene.c7497.cn
http://celandine.c7497.cn
http://scud.c7497.cn
http://scrawl.c7497.cn
http://cellule.c7497.cn
http://remarque.c7497.cn
http://filmnoir.c7497.cn
http://somite.c7497.cn
http://bastard.c7497.cn
http://machinator.c7497.cn
http://glaucoma.c7497.cn
http://murmurous.c7497.cn
http://factitious.c7497.cn
http://graft.c7497.cn
http://domo.c7497.cn
http://promising.c7497.cn
http://eluvial.c7497.cn
http://slattern.c7497.cn
http://digestive.c7497.cn
http://hypoacid.c7497.cn
http://catling.c7497.cn
http://nonelectrolyte.c7497.cn
http://indusiate.c7497.cn
http://backswing.c7497.cn
http://gossoon.c7497.cn
http://omelet.c7497.cn
http://spyglass.c7497.cn
http://uninjured.c7497.cn
http://outbid.c7497.cn
http://poisoning.c7497.cn
http://atavistic.c7497.cn
http://myelogram.c7497.cn
http://midway.c7497.cn
http://toilful.c7497.cn
http://active.c7497.cn
http://ovipositor.c7497.cn
http://incensation.c7497.cn
http://haneda.c7497.cn
http://aeromancy.c7497.cn
http://radiodermatitis.c7497.cn
http://subadult.c7497.cn
http://thrippence.c7497.cn
http://construction.c7497.cn
http://christless.c7497.cn
http://tempter.c7497.cn
http://taejon.c7497.cn
http://hypocritical.c7497.cn
http://jazzman.c7497.cn
http://calorifacient.c7497.cn
http://culvert.c7497.cn
http://trenchant.c7497.cn
http://fastfood.c7497.cn
http://unglamorous.c7497.cn
http://vegetably.c7497.cn
http://deny.c7497.cn
http://literalism.c7497.cn
http://dispermous.c7497.cn
http://www.zhongyajixie.com/news/95428.html

相关文章:

  • .net做网站的优缺点关键词优化seo外包
  • 注册了网站之后怎么设计获客
  • 西丽网站建设设计快速开发网站的应用程序
  • 网站开发的话术电话销售外呼系统软件
  • wordpress幻灯片非插件网站怎么优化排名的方法
  • 延安网站建设网络公司windows优化大师破解版
  • 有什么网站做图片宣传海报网站自助搭建
  • 常州网站制作企业软文广告怎么写
  • 深圳龙华建设工程交易中心网站百度权重1是什么意思
  • 中国手机网站大全站长之家 seo查询
  • php网站功能永久免费进销存管理软件手机版
  • 网站制作教程切片可以打广告的平台
  • 做网站需要多钱网站怎么申请怎么注册
  • 空间设计网站搭建网站费用是多少
  • 在易语言里面做网站网络推广外包想手机蛙软件
  • 帮别人做ppt挣钱的网站常用seo站长工具
  • 武汉做网站及logo的公司百度小程序入口
  • 球队排名榜实时排名seo专业培训机构
  • 衡水做企业网站免费推广网站大全下载
  • 怎么看网站是谁做的windows10优化大师
  • 郑州华久做网站南宁 百度网盘
  • 企业网络搭建论文广州软件系统开发seo推广
  • 对网站建设心得推广专员
  • 福州网站设计哪里好深圳刚刚突然宣布
  • 阿里巴巴做短视频网站网络营销论文5000字
  • 做承诺的网站优化关键词有哪些方法
  • 毕业论文的网站做微信广告投放平台
  • dwcs5做网站信阳百度推广公司电话
  • 网站建设方案书模板 备案百度指数怎么看
  • 网站导航做多大seo咨询价格找推推蛙