欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot登錄攔截配置詳解(實測可用)

 更新時間:2020年07月22日 10:39:56   作者:xqnode  
這篇文章主要介紹了SpringBoot登錄攔截配置詳解(實測可用),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

背景:寫一個用戶登錄攔截,在網(wǎng)上找了一圈沒找到好用的,于是自己試驗了一下,總結(jié)出來,分享給大家。

1.自定義登錄攔截器LoginInterceptor

public class LoginInterceptor implements HandlerInterceptor {

  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  	// 這里是關(guān)鍵
    User loginUser = (User) request.getSession().getAttribute("user");
    if (loginUser == null) {
      // 未登錄拋出異常,交給統(tǒng)一異常處理器處理
      throw new CustomException(ResultCode.USER_NOT_LOGIN);
    }
    return true;
  }

  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

  }

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

  }
}

2.在WebConfigurer中添加攔截器

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    //注冊TestInterceptor攔截器
    registry.addInterceptor(new LoginInterceptor())
        .addPathPatterns("/**")
        // 排除登錄注冊等接口,注意這里的格式是 /**/xxx
        .excludePathPatterns("/**/login", "/**/register"); 
  }
}

3.登錄接口

 /**
   * 登錄
   * @return 用戶信息
   */
public User login(UserVO userVO. HttpServlet) {
  String username = userVO.getUsername();
  String password = userVO.getPassword();

  User user = userMapper.findByUsernameAndPassword(username, password);
  // 未找到用戶
  if(user == null) {
    throw new CustomException(ResultCode.USER_ACCOUNT_ERROR);
  }
  // 設置session中的用戶信息
  SessionUtils.setSessionAttribute("user", user);
  return user;
}

文中的代碼細節(jié)不一一列舉了,這里重點討論的攔截器,感興趣的朋友可以私聊我獲取其他代碼。

結(jié)果

未登錄的情況下,請求普通接口提示未登錄。

請求登錄接口。

登錄后再去請求普通接口,返回正常。

-END-

到此這篇關(guān)于SpringBoot登錄攔截配置詳解(實測可用)的文章就介紹到這了,更多相關(guān)SpringBoot登錄攔截內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java對接支付寶支付接口簡單步驟記錄

    java對接支付寶支付接口簡單步驟記錄

    最近項目APP需要接入微信、支付寶支付功能,在分配開發(fā)任務時,聽說微信支付接口比支付寶支付接口要難實現(xiàn),這篇文章主要給大家介紹了關(guān)于java對接支付寶支付接口的簡單步驟,需要的朋友可以參考下
    2024-05-05
  • SpringBoot整合ELK使用教程

    SpringBoot整合ELK使用教程

    對于一個運行中的應用來說,線上排查問題是一件很頭疼的問題,不管是springboot單應用,還是springcloud微服務應用,一旦在生產(chǎn)環(huán)境出了問題,大多數(shù)人第一反應就是趕緊去看日志查問題,本文給大家介紹了SpringBoot整合ELK使用教程,需要的朋友可以參考下
    2024-11-11
  • Java字符串 正則表達式詳解

    Java字符串 正則表達式詳解

    這篇文章主要介紹了java使用正則表達式查找包含的字符串功能,結(jié)合具體實例形式分析了java針對字符串匹配查找的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2021-09-09
  • Spring的事件機制知識點詳解及實例分析

    Spring的事件機制知識點詳解及實例分析

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于Spring的事件機制知識點詳解及實例分析,有需要的朋友么可以參考下。
    2021-12-12
  • Java 8中如何獲取參數(shù)名稱的方法示例

    Java 8中如何獲取參數(shù)名稱的方法示例

    這篇文章主要給大家介紹了在Java 8中如何獲取參數(shù)名稱的方法,文中給出了詳細的介紹和方法示例,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友可以參考學習,下面來一起看看吧。
    2017-01-01
  • 基于java socket實現(xiàn) 聊天小程序

    基于java socket實現(xiàn) 聊天小程序

    這篇文章主要介紹了基于java socket實現(xiàn) 聊天小程序,代碼分為服務器和客戶端,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 正確遍歷刪除List中的元素方法(推薦)

    正確遍歷刪除List中的元素方法(推薦)

    下面小編就為大家?guī)硪黄_遍歷刪除List中的元素方法(推薦)。小編覺得挺不錯的,在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 解決調(diào)用ftpClient.retrieveFileStream(String?remoteFilePath)第二次讀取為空問題

    解決調(diào)用ftpClient.retrieveFileStream(String?remoteFilePath)第二次讀

    這篇文章主要給大家介紹了關(guān)于如何解決調(diào)用ftpClient.retrieveFileStream(String?remoteFilePath)第二次讀取為空問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • 解決MyEclipse出現(xiàn)the user operation is waiting的問題

    解決MyEclipse出現(xiàn)the user operation is waiting的問題

    今天做項目的時候每次修改代碼保存后都會跳出一個框框,然后就有兩個進度條,上面寫the user operation is wating...小編去網(wǎng)上查了查解決了這個問題,下面跟大家分享一下。
    2018-04-04
  • spring security 5.x實現(xiàn)兼容多種密碼的加密方式

    spring security 5.x實現(xiàn)兼容多種密碼的加密方式

    spring security針對該功能有兩種實現(xiàn)方式,一種是簡單的使用加密來保證基于 cookie 的 token 的安全,另一種是通過數(shù)據(jù)庫或其它持久化存儲機制來保存生成的 token。這篇文章主要給大家介紹了關(guān)于spring security 5.x實現(xiàn)兼容多種密碼的加密方式,需要的朋友可以參考下。
    2018-01-01

最新評論