91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot如何實現登錄攔截器

發布時間:2022-07-05 13:50:13 來源:億速云 閱讀:214 作者:iii 欄目:開發技術

這篇文章主要介紹“SpringBoot如何實現登錄攔截器”,在日常操作中,相信很多人在SpringBoot如何實現登錄攔截器問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SpringBoot如何實現登錄攔截器”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

在項目目錄下建立兩個包:inter 與contsfig

SpringBoot如何實現登錄攔截器

在inter新建層中實現HandlerInterceptor的繼承類

SpringBoot如何實現登錄攔截器

package com.example.gameboxadminserver.inter;

import com.example.gameboxadminserver.entity.User;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class MyInterceptor implements HandlerInterceptor {
	//在preHandle方法中進行登錄判斷
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        //session.setAttribute("adminName","o");

        String adminName = (String)session.getAttribute("adminName");//獲取儲存的session
       //System.out.println(adminName);
        if(adminName==null){
            System.out.println("請先登陸!");
            return false;
        }
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        //System.out.println("執行了TestInterceptor的postHandle方法");
    }


    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}

在conrsfig中新增WebMvcConfiguer的繼承類LoginConfig

SpringBoot如何實現登錄攔截器

實現addInterceptors方法

package com.example.gameboxadminserver.contsfig;


import com.example.gameboxadminserver.inter.MyInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class LoginConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //注冊攔截器
        InterceptorRegistration registration = registry.addInterceptor(new MyInterceptor());
        registration.addPathPatterns("/**");                      //所有路徑都被攔截
        registration.excludePathPatterns(
                //添加不攔截路徑
                "/admin/adminLogin",
                
        );
    }
}

在serviceImpl層

實現登錄邏輯并保存session

Httpsession session

session.setAttribute(“name”,value);

package com.example.gameboxadminserver.service.impl;

import com.example.gameboxadminserver.entity.Admin;
import com.example.gameboxadminserver.entity.Result;
import com.example.gameboxadminserver.entity.ResultUtil;
import com.example.gameboxadminserver.mapper.AdminMapper;
import com.example.gameboxadminserver.service.AdminService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * <p>
 *  服務實現類
 * </p>
 *
 * @author firstGroup
 * @since 2020-10-28
 */
@Service
public class AdminServiceImpl extends ServiceImpl<AdminMapper, Admin> implements AdminService {
    @Autowired
    AdminMapper adminMapper;
    @Override
    public Result adminLogin(HttpSession session,String adminName, String adminPwd) {
        Admin admin = adminMapper.adminLogin(adminName,adminPwd);
        if(admin!=null){
            session.setAttribute("adminName",adminName);
            return ResultUtil.success("登陸成功!");
        }
        return ResultUtil.error(2000,"登陸失敗");
    }
}

這樣就寫完啦

功能測試

登陸失敗

SpringBoot如何實現登錄攔截器

無法訪問其他接口

SpringBoot如何實現登錄攔截器

登錄成功

SpringBoot如何實現登錄攔截器

成功訪問其他接口

到此,關于“SpringBoot如何實現登錄攔截器”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤峰县| 青阳县| 邵阳市| 长白| 舞阳县| 宣武区| 龙州县| 石景山区| 新郑市| 广平县| 洞头县| 偃师市| 西华县| 田林县| 庆元县| 鞍山市| 彭山县| 湖口县| 沿河| 安吉县| 南溪县| 涞水县| 玉山县| 波密县| 曲周县| 黑山县| 大城县| 江源县| 海伦市| 连江县| 阳泉市| 新绛县| 临洮县| 思茅市| 惠州市| 商城县| 东明县| 湖口县| 沙湾县| 岳阳市| 屏边|