1
0
mirror of https://github.com/FatttSnake/Pinnacle-OA.git synced 2026-04-06 07:21:24 +08:00

Added spring security

This commit is contained in:
2023-05-05 00:17:11 +08:00
parent c3bde66b33
commit e5317da56d
89 changed files with 1028 additions and 783 deletions

View File

@@ -1,53 +0,0 @@
package com.cfive.pinnacle.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* <p>
* 中间表-权限-页面元素
* </p>
*
* @author FatttSnake
* @since 2023-04-30
*/
@Data
@Accessors(chain = true)
@TableName("t_power_element")
public class PowerElement implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@TableId("id")
private Long id;
/**
* 权限
*/
@TableField("power_id")
private Long powerId;
/**
* 页面元素
*/
@TableField("element_id")
private Long elementId;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
}

View File

@@ -1,53 +0,0 @@
package com.cfive.pinnacle.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* <p>
* 中间表-权限-文件
* </p>
*
* @author FatttSnake
* @since 2023-04-30
*/
@Data
@Accessors(chain = true)
@TableName("t_power_file")
public class PowerFile implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@TableId("id")
private Long id;
/**
* 权限
*/
@TableField("power_id")
private Long powerId;
/**
* 文件
*/
@TableField("file_id")
private Long fileId;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
}

View File

@@ -1,53 +0,0 @@
package com.cfive.pinnacle.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* <p>
* 中间表-权限-菜单
* </p>
*
* @author FatttSnake
* @since 2023-04-30
*/
@Data
@Accessors(chain = true)
@TableName("t_power_menu")
public class PowerMenu implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@TableId("id")
private Long id;
/**
* 权限
*/
@TableField("power_id")
private Long powerId;
/**
* 菜单
*/
@TableField("menu_id")
private Long menuId;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
}

View File

@@ -1,53 +0,0 @@
package com.cfive.pinnacle.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* <p>
* 中间表-权限-功能
* </p>
*
* @author FatttSnake
* @since 2023-04-30
*/
@Data
@Accessors(chain = true)
@TableName("t_power_operation")
public class PowerOperation implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@TableId("id")
private Long id;
/**
* 权限
*/
@TableField("power_id")
private Long powerId;
/**
* 功能
*/
@TableField("operation_id")
private Long operationId;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
}

View File

@@ -6,6 +6,8 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ResponseCode {
public static final int SYSTEM_OK = 20000;
public static final int LOGIN_SUCCESS = 20010;
public static final int LOGIN_USERNAME_PASSWORD_ERROR = 20011;
public static final int DATABASE_SELECT_OK = 20021;
public static final int DATABASE_SAVE_OK = 20022;
public static final int DATABASE_UPDATE_OK = 20023;
@@ -14,9 +16,10 @@ public class ResponseCode {
public static final int DATABASE_SAVE_ERROR = 20032;
public static final int DATABASE_UPDATE_ERROR = 20033;
public static final int DATABASE_DELETE_ERROR = 20034;
public static final int DATABASE_TIMEOUT = 20035;
public static final int DATABASE_TIMEOUT_ERROR = 20035;
public static final int DATABASE_CONNECT_ERROR = 20036;
public static final int SYSTEM_ERROR = 50001;
public static final int SYSTEM_TIMEOUT = 50002;
}

View File

@@ -1,15 +1,15 @@
package com.cfive.pinnacle.entity;
package com.cfive.pinnacle.entity.permission;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -21,6 +21,8 @@ import lombok.experimental.Accessors;
* @since 2023-04-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("t_element")
public class Element implements Serializable {
@@ -37,11 +39,9 @@ public class Element implements Serializable {
@TableField("name")
private String name;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
/**
* 权限ID
*/
@TableField("power_id")
private Long powerId;
}

View File

@@ -1,15 +1,15 @@
package com.cfive.pinnacle.entity;
package com.cfive.pinnacle.entity.permission;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -21,6 +21,8 @@ import lombok.experimental.Accessors;
* @since 2023-04-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("t_file")
public class File implements Serializable {
@@ -43,11 +45,9 @@ public class File implements Serializable {
@TableField("path")
private String path;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
/**
* 权限ID
*/
@TableField("power_id")
private Long powerId;
}

View File

@@ -0,0 +1,63 @@
package com.cfive.pinnacle.entity.permission;
import com.cfive.pinnacle.entity.User;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.Collection;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LoginUser implements UserDetails {
private User user;
private Collection<? extends GrantedAuthority> authorities;
private String password;
private String username;
private Boolean accountNonExpired;
private Boolean accountNonLocked;
private Boolean credentialsNonExpired;
private Boolean enabled;
public LoginUser(User user) {
this.user = user;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return null;
}
@Override
public String getPassword() {
return user.getPasswd();
}
@Override
public String getUsername() {
return user.getUsername();
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return user.getEnable() == 1;
}
}

View File

@@ -1,15 +1,15 @@
package com.cfive.pinnacle.entity;
package com.cfive.pinnacle.entity.permission;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -21,6 +21,8 @@ import lombok.experimental.Accessors;
* @since 2023-04-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("t_menu")
public class Menu implements Serializable {
@@ -43,17 +45,15 @@ public class Menu implements Serializable {
@TableField("url")
private String url;
/**
* 权限ID
*/
@TableField("power_id")
private Long powerId;
/**
* 父ID
*/
@TableField("parent_id")
private String parentId;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
private Long parentId;
}

View File

@@ -1,15 +1,15 @@
package com.cfive.pinnacle.entity;
package com.cfive.pinnacle.entity.permission;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -21,6 +21,8 @@ import lombok.experimental.Accessors;
* @since 2023-04-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("t_operation")
public class Operation implements Serializable {
@@ -49,17 +51,15 @@ public class Operation implements Serializable {
@TableField("url_prefix")
private String urlPrefix;
/**
* 权限ID
*/
@TableField("power_id")
private Long powerId;
/**
* 父ID
*/
@TableField("parent_id")
private Long parentId;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
}

View File

@@ -1,4 +1,4 @@
package com.cfive.pinnacle.entity;
package com.cfive.pinnacle.entity.permission;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -10,7 +10,9 @@ import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -22,6 +24,8 @@ import lombok.experimental.Accessors;
* @since 2023-04-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("t_operation_log")
public class OperationLog implements Serializable {

View File

@@ -1,15 +1,15 @@
package com.cfive.pinnacle.entity;
package com.cfive.pinnacle.entity.permission;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -21,6 +21,8 @@ import lombok.experimental.Accessors;
* @since 2023-04-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("t_power")
public class Power implements Serializable {
@@ -36,12 +38,4 @@ public class Power implements Serializable {
*/
@TableField("type_id")
private Long typeId;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
}

View File

@@ -1,4 +1,4 @@
package com.cfive.pinnacle.entity;
package com.cfive.pinnacle.entity.permission;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -9,7 +9,9 @@ import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -21,6 +23,8 @@ import lombok.experimental.Accessors;
* @since 2023-04-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("t_power_role")
public class PowerRole implements Serializable {

View File

@@ -1,15 +1,15 @@
package com.cfive.pinnacle.entity;
package com.cfive.pinnacle.entity.permission;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -21,6 +21,8 @@ import lombok.experimental.Accessors;
* @since 2023-04-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("t_power_type")
public class PowerType implements Serializable {
@@ -36,12 +38,4 @@ public class PowerType implements Serializable {
*/
@TableField("name")
private String name;
@TableField("deleted")
@TableLogic
private Integer deleted;
@TableField("version")
@Version
private Integer version;
}