SpringBoot狂神10-(员工管理系统-登录功能实现)
2021/8/2 23:06:34
本文主要是介绍SpringBoot狂神10-(员工管理系统-登录功能实现),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
(四)登录功能的实现
登录,也就是当我们点击登录按钮的时候,会进入一个页面,这里进入dashboard页面
因此我们首先在index.html中的表单编写一个提交地址/user/login,并给名称和密码输入框添加name属性为了后面的传参
然后编写对应的controller
在主程序同级目录下新建controller包,在其中新建类loginController,处理登录请求
package com.zsr.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class LoginController { @RequestMapping("/user/login") public String login(@RequestParam("username") String username, @RequestParam("password") String password, Model model) { //如果用户名和密码正确 if ("admin".equals(username) && "123456".equals(password)) return "dashboard";//跳转到dashboard页面 //如果用户名或者密码不正确 else { model.addAttribute("msg", "用户名或者密码错误");//显示错误信息 return "index";//跳转到首页 } } }
然后我们在index.html首页中加一个标签用来显示controller返回的错误信息
<p style="color: red" th:text="${msg}"></p>
我们再测试一下,启动主程序,访问localhost:8080
如果我们输入正确的用户名和密码
则重新跳转到dashboard页面,浏览器url为http://localhost:8080/user/login?username=admin&password=123456
随便输入错误的用户名12,输入错误的密码12
浏览器url为http://localhost:8080/user/login?username=12&password=123456,页面上附有错误提示信息
到此我们的登录功能实现完毕,但是有一个很大的问题,浏览器的url暴露了用户的用户名和密码,这在实际开发中可是重大的漏洞,泄露了用户信息,因此我们需要编写一个映射
我们在自定义的配置类MyMvcConfig中加一句代码
registry.addViewController("/main.html").setViewName("dashboard");
也就是访问/main.html页面就跳转到dashboard页面
然后我们稍稍修改一下LoginController,当登录成功时重定向到main.html页面,也就跳转到了dashboard页面
package com.zsr.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class LoginController { @RequestMapping("/user/login") public String login(@RequestParam("username") String username, @RequestParam("password") String password, Model model) { //如果用户名和密码正确 if ("admin".equals(username) && "123456".equals(password)) return "redirect:/main.html";//重定向到main.html页面,也就是跳转到dashboard页面 //如果用户名或者密码不正确 else { model.addAttribute("msg", "用户名或者密码错误");//显示错误信息 return "index";//跳转到首页 } } }
我们再次重启测试,输入正确的用户名和密码登陆成功后,浏览器不再携带泄露信息
但是这又出现了新的问题,无论登不登陆,我们访问localhost/main.html都会跳转到dashboard的页面,这就引入了接下来的拦截器
这篇关于SpringBoot狂神10-(员工管理系统-登录功能实现)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现