重温Spring框架(五、SpringMVC之十九:拦截器之四:使用拦截器实现用户登录权限验证)

40 篇文章 0 订阅
33 篇文章 0 订阅
package com.springmvc.controller;

import com.springmvc.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpSession;


/**
 * @author YuusukeUchiha
 * @date 2020/7/19 21:41
 * @ide IntelliJ IDEA
 */
@Controller
public class UserController {

    /**
     * 向用户登录页面跳转方法
     *
     * @return
     */
    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String loginPage() {
        System.out.println("用户从login请求到登录跳转login.jsp页面");

        // 跳转到登录页面
        return "login";
    }

    // 用户实现登录方法
    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public String login(User user, Model model, HttpSession httpSession) {
        String loginName = user.getLoginName();
        String password = user.getPassword();
        if (loginName != null && loginName.equals("admin") && password != null && password.equals("123456")) {
            System.out.println("用户登录成功");
            // 将用户添加到session中保存
            httpSession.setAttribute("CURRENT_USER", user);
            // 重定向到主页面的跳转方法
            return "redirect:success";
        }
        model.addAttribute("message", "账号或者密码错误,请重新登录");
        // 跳转到登录页面
        return "login";
    }


    /**
     * 向主页跳转方法
     *
     * @return
     */
    @RequestMapping(value = "/success")
    public String indexPage() {
        System.out.println("用户从index请求到主页跳转success.jsp页面");
        // 跳转到主页面
        return "success";
    }

    @RequestMapping(value = "/logout")
    public String logout(HttpSession httpSession) {
        // 清除session
        httpSession.invalidate();
        System.out.println("退出功能实现,清除session,重定向到login请求~");
        // 重定向到登录页面的跳转方法
        return "redirect:login";
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值