springSecurity + jwt + redis 前後端分離使用者認證和授權
阿新 • • 發佈:2022-05-27
記錄一下使用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