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

各大网站查重率比较网站制作公司都找乐云seo

各大网站查重率比较,网站制作公司都找乐云seo,cmseasy去版权,电商网站后台报价基于 Spring Boot 瑞吉外卖系统开发(二) 员工登录功能实现 员工登录页面login.html存放在/resources/backend/page/login目录下。 启动项目,在浏览器中通过地址“http://localhost:8080/backend/page/login/login.html”访问员工登录页面。…

基于 Spring Boot 瑞吉外卖系统开发(二)

员工登录功能实现

员工登录页面login.html存放在/resources/backend/page/login目录下。
启动项目,在浏览器中通过地址“http://localhost:8080/backend/page/login/login.html”访问员工登录页面。
在这里插入图片描述
按下快捷键F12打开浏览器调试工具后,单击“登录”按钮,浏览器抓取到登录的请求信息。
在这里插入图片描述

定义Mapper接口

自定义的Mapper接口可以继承BaseMapper获得通用的增删改查功能。
在项目的src/main/java目录下创建com.itheima.reggie.mapper包,在该包下创建员工Mapper接口EmployeeMapper。

@Mapper
public interface EmployeeMapper extends BaseMapper<Employee> {}

定义Service接口

public interface EmployeeService extends IService<Employee> {
}

定义Service实现类

@Service
public class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, Employee> implements EmployeeService {}

定义Controller类

@RestController
@RequestMapping("/employee")
public class EmployeeController {@Autowiredprivate EmployeeService employeeService;@PostMapping("/login")public R<Employee> login(@RequestBody Employee employee, HttpServletRequest request){//1.将页面提交的密码password进行MD5加密处理String password = employee.getPassword();password = DigestUtils.md5DigestAsHex(password.getBytes());//2.根据页面提交的用户名username查询数据库QueryWrapper<Employee> query = new QueryWrapper<>();query.eq("username", employee.getUsername());Employee one = employeeService.getOne(query);//3.如果没有查询到员工信息或者密码不正确,则返回登录失败结果if(one==null || !one.getPassword().equals(password)){return R.error("用户名或密码错误");}//4.查看员工状态,如果为已禁用状态,则返回员工已禁用结果if(one.getStatus() == 0){return R.error("账号已禁用");}//5.登录成功,将员工Id存入Session并返回员工信息request.getSession().setAttribute("loginEmployee", one);return R.success(one);}
}

登录功能测试

启动项目,在浏览器中通过地址“http://localhost:8080/backend/page/login/login.html”访问员工登录页面,在登录页面使用错误的账号或密码进行登录。
在这里插入图片描述
使用正确的账号和密码进行登录。
在这里插入图片描述

登录拦截功能

管理端的员工登录已经实现完成,但是此时员工如果不登录,也可以直接访问管理端的其他页面。
对此,可以使用拦截器对请求进行拦截判断,判断员工是否已经完成登录,如果没有登录则跳转到登录页面。
com/itheima/reggie/config/LoginInterceptor.java

public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {Object loginEmployee = request.getSession().getAttribute("loginEmployee");if  (loginEmployee == null) {//未登录,返回登录页response.sendRedirect("/backend/page/login/login.html");return  false ; //不放行}return  true ; //放行}}

com/itheima/reggie/config/WebMvcConfig.java中注册拦截器,并设置拦截的路径。

    /*** 员工登录拦截器* @param registry*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/backend/page/**","/backend/index.html").excludePathPatterns("/backend/page/login/login.html");}

这里拦截器只设置了拦截前端的页面,真实开发后端接口也需要拦截。

至此,员工没有成功登录的话,访问其他路径都会自动跳转到登录页面。

员工退出登录

员工登录成功后,会将对应的员工信息存入到Session中,以记录员工的登录状态。相反,如果想要实现员工退出,则可以在收到退出请求后,将当前员工存放在Session中的信息清除即可。
/controller/EmployeeController.java 添加logout方法。

    @PostMapping("/logout")public R<String> logout(HttpServletRequest request){request.getSession().removeAttribute("loginEmployee");return R.success("退出成功");}

至此,点击后台首页右上角退出按钮进行退出。
在这里插入图片描述

http://www.dtcms.com/wzjs/571352.html

相关文章:

  • 企业网站开发课程培训公司测名网
  • 试卷网站在线做哪家网站推广做的好
  • 创意礼品做的比较好的网站上海公司注册地址
  • 权威网站wordpress自动
  • 安徽建设厅网站首页宁波微网站开发
  • 莱芜区网站小程序商店怎么关闭
  • 英文网站seo如何做梦创义网站建设
  • 网站改版 建设方案怎么创建免费的个人网站
  • 网站建好了 怎么建后台重庆vr制作
  • 四川网站seo设计做自己域名的网站很贵吗
  • 网站 keywords做网站和seo哪个好
  • 做画册好的网站企业网站开发目的和意义
  • 个人网站赚钱长沙官网网站建设哪家好
  • 建设部网站官网施工合同文本微信网站开发登录
  • 泉州模板建站平台西安 做网站
  • 网站建设难不难专业网页制作服务商
  • 网站首页策划怎么做如何做网站推广获客
  • 如何接单做网站营销型网站页面摸板
  • 设计网站属于什么专业上海上市装修公司
  • 上海市嘉定建设局网站基金公司网站建设方案
  • 淘宝客户自己做网站怎么做新网站如何做百度百科
  • 在线做简历的网站wordpress使用七牛图像服务
  • 做电力 公司网站做网站建设费用预算
  • 网站外包如何报价免费样机素材网站
  • 电子产品网站建设策划方案php可以自己做网站吗
  • 联通公司网站谁做的长春网站排名优化
  • wordpress 哪些网站吗呼市网站制作
  • 申请网站建设费大连 响应式网站
  • 做网站需要的技术 规范抚州市建设局网站查询
  • 网页模板下载网站10wordpress 修改小工具样式