功能(auth):实现用户注册并分配默认角色
- 添加AppConfig类以启用事务管理 - 在application.yaml中配置默认角色代码 - 在AuthServiceImpl中注入RoleMapper和defRoleCode - 在注册过程中为新用户分配默认角色 - 添加用户注册和登录事件的日志记录 - 在登录过程中处理异常并进行适当的错误日志记录 - 创建用户、角色、权限及关联关系的数据库表 - 添加用户角色实体类和用户-角色关系映射器 - 实现用户角色服务以管理用户角色分配 - 添加通过SetUserRoleRequest设置用户角色的API端点 - 更新用户实体类并添加适当的字段和注解 - 实现包含角色信息的用户信息查询方法 - 将用户转换逻辑重构为可复用方法 - 为SetUserRoleRequest DTO添加校验约束}```
This commit is contained in:
@@ -1,57 +1,85 @@
|
||||
package cn.nopj.chaos_api.domain.entity;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 系统管理-用户表
|
||||
* @TableName t_user
|
||||
*/
|
||||
@Data
|
||||
@TableName("t_user")
|
||||
public class User implements Serializable {
|
||||
@TableName(value ="t_user")
|
||||
|
||||
public class User {
|
||||
/**
|
||||
* 用户id
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名称
|
||||
* 用户名/登录名
|
||||
*/
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
* 密码(加密存储,建议BCrypt)
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 账号是否启用
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 状态 (1:启用, 0:禁用)
|
||||
*/
|
||||
private Boolean enabled;
|
||||
|
||||
/**
|
||||
* 账号是否未过期
|
||||
* 账号未过期 (1:是, 0:否)
|
||||
*/
|
||||
private Boolean accountNonExpired;
|
||||
|
||||
/**
|
||||
* 密码是否未过期
|
||||
* 凭证未过期 (1:是, 0:否)
|
||||
*/
|
||||
private Boolean credentialsNonExpired;
|
||||
|
||||
/**
|
||||
* 账号是否未锁定
|
||||
* 账号未锁定 (1:是, 0:否)
|
||||
*/
|
||||
private Boolean accountNonLocked;
|
||||
|
||||
/**
|
||||
* 逻辑删除 (1:已删除, 0:未删除)
|
||||
*/
|
||||
private Boolean deleted;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<Role> roles;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package cn.nopj.chaos_api.domain.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@TableName("t_user_role")
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserRole {
|
||||
private Long userId;
|
||||
private Long roleId;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package cn.nopj.chaos_api.dto.request;
|
||||
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SetUserRoleRequest {
|
||||
@Pattern(regexp = "^[0-9]+$", message = "用户id格式错误")
|
||||
private Long userId;
|
||||
@Pattern(regexp = "^[0-9]+$", message = "角色id格式错误")
|
||||
private List<Long> rolesId;
|
||||
}
|
||||
Reference in New Issue
Block a user