1. 程式人生 > 其它 >springSecurity + jwt + redis 前後端分離使用者認證和授權

springSecurity + jwt + redis 前後端分離使用者認證和授權

記錄一下使用springSecurity搭建使用者認證和授權的程式碼、、、

技術棧使用springSecurity + redis + JWT + mybatisPlus

部分程式碼來自:https://blog.csdn.net/I_am_Hutengfei/article/details/100561564

零. 共用工具類和sql

1.工具類

@Data
public class JsonResult<T> implements Serializable {
   private Boolean success;
   private Integer errorCode;
   private String errorMsg;
   private T data;

   public JsonResult() {
  }

   public JsonResult(Boolean success, Integer errorCode, String errorMsg, T data) {
       this.success = success;
       this.errorCode = errorCode;
       this.errorMsg = errorMsg;
       this.data = data;
  }

   // 成功或者失敗都能走這個
   public JsonResult(boolean success) {
       this.success = success;
       this.errorMsg = success ? ResultCode.SUCCESS.getMessage() : ResultCode.COMMON_FAIL.getMessage();
       this.errorCode = success ? ResultCode.SUCCESS.getCode() : ResultCode.COMMON_FAIL.getCode();
  }

   // 成功或者失敗都能走這個,並且可以傳一個列舉來改變預設列舉的值
   public JsonResult(boolean success, ResultCode resultEnum) {
       this.success = success;
       // 傳來的列舉為null就用預設的,不為null就用傳來的列舉
       this.errorCode = success ? (resultEnum==null?ResultCode.SUCCESS.getCode():resultEnum.getCode()) : (resultEnum == null ? ResultCode.COMMON_FAIL.getCode() : resultEnum.getCode());
       this.errorMsg = success ? (resultEnum==null?ResultCode.SUCCESS.getMessage():resultEnum.getMessage()): (resultEnum == null ? ResultCode.COMMON_FAIL.getMessage() : resultEnum.getMessage());
  }

   // 成功或者失敗都能用
   // 使用者可以傳一個任意物件過來,用預設的成功或者失敗的列舉
   public JsonResult(boolean success, T data) {
       this.success = success;
       this.errorCode = success ? ResultCode.SUCCESS.getCode() : ResultCode.COMMON_FAIL.getCode();
       this.errorMsg = success ? ResultCode.SUCCESS.getMessage() : ResultCode.COMMON_FAIL.getMessage();
       this.data = data;
  }

   // 成功或者失敗都能用
   // 使用者可以傳一個任意物件和自定義列舉過來
   public JsonResult(boolean success, ResultCode resultEnum, T data) {
       this.success = success;
       this.errorCode = success ? (