springboot项目实践—登录

springboot项目实践—登录

登录可谓一个项目中最重要的部分,毕竟登录就相当于一扇门,如果你的门起不到足够的保护作用,那使用更是无从谈起。
我对于登录这个功能也是一步步的摸索,当然,到最后我也没写一个拦截器,不过至少还是有点儿作用。
在这里插入图片描述

登录1.0

需求

分为店长端和店员端,输入账号密码之后店长和店员分别进入各自界面。

实现

最开始使用的版本,仅仅能识别账号密码,进入系统之后众生平等,各个用户之间没有任何差异,你甚至可以跳过登录界面,直接进入管理主界面。

	// 后台管理登录
	@RequestMapping(value = "/loginclerk")
	public String loginclerk(Model model, HttpSession session) {
		return "loginclerk";
	}

	// 后台管理登录验证
	@RequestMapping(value = "/loginclerkCheck")
	public String loginclerkCheck(Clerk clerk, HttpSession session, Model model) {
		int result = cService.loginCheck(clerk);
		if (result == 2) {
			return "redirect:/clerk";
		} else if (result == 1) {
			return "redirect:/customer";
		} else {
			return "loginclerk";
		}
	}

首先,进入登录界面,输入账号密码之后通过loginclerkCheck方法进行验证,将包含账号密码的对象传入service层的方法,

	// 账号验证
	public int loginCheck(Clerk clerk) {
		ClerkExample example = new ClerkExample();
		example.createCriteria().andClerkidEqualTo(clerk.getClerkid()).andPasswordEqualTo(clerk.getPassword());
		List<Clerk> list = mapper.selectByExample(example);
		if (list.size() > 0) {
			ClerkExample examples = new ClerkExample();
			examples.createCriteria().andIdentityEqualTo(1).andClerkidEqualTo(clerk.getClerkid()).andPasswordEqualTo(clerk.getPassword());
			List<Clerk> lists = mapper.selectByExample(examples);
			if (lists.size() > 0) {
				return 2;
			}
			return 1;
		}
		return 0;
	}

对象中的账号密码和数据库中的对象进行匹配,如果最终list.size() > 0,说明可以匹配到对象,账号密码正确,在通过对象中的身份字段来区分店长和店员,分别返回不同结果,之后根据结果跳转到不同的界面。

如果世上每个人的信息都是一样的这样没问题,但是这是不可能的。

So
在这里插入图片描述

登录1.5

实现了个人信息的查看,但是界面跳转中出了问题。

	// 登录
	@RequestMapping(value = "/login")
	public String toUpdate(User user, Model model, HttpSession session) {
   
		return "login";
	}

	// 登录验证
	@RequestMapping(value = "/loginCheck")
	public String loginCheck(@RequestParam("type") Integer type, User user, HttpSession session, Model model,
			RedirectAttributes attributes) {
   
		int result = service.loginCheck(user);
		if (result == 1) {
   
			User check = service.find(user.getId());
			attributes.addFlashAttribute("id", check.getId());
			if (check.getRank() == 1 && type == 1) {
   
				return "redirect:/noticeLogin";
			} else if (check.getRank() == 2) {
   
				if (type == 2) {
   
					return "redirect:/massLogin";
				} else if (type == 3) {
   
					return "redirect:/indexLogin";
				} else {
   
					return "login";
				}
			} else if (check.getRank() == 3 && type == 3) {
   
				return "redirect:/indexLogin";
			} else {
   
				if (check.getRank() == 4 && type == 4) {
   
					return "redirect:/indexLogin";
				} else {
   
					return "login";
	
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南宫拾壹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值