feat(auth): 添加用户认证和 JWT 令牌管理功能
- 新增用户注册和登录接口 - 实现 JWT 令牌生成和验证逻辑 - 添加用户权限管理相关实体和 mapper - 更新安全配置,支持 JWT 认证 -移除 log4j2 相关配置,改为使用 logback
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
package cn.nopj.chaos_api.mapper;
|
||||
|
||||
import cn.nopj.chaos_api.domain.entity.Permission;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface PermissionMapper extends BaseMapper<Permission> {
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package cn.nopj.chaos_api.mapper;
|
||||
|
||||
import cn.nopj.chaos_api.domain.entity.Role;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface RoleMapper extends BaseMapper<Role> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package cn.nopj.chaos_api.mapper;
|
||||
|
||||
import cn.nopj.chaos_api.domain.entity.User;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface UserMapper extends BaseMapper<User> {
|
||||
/**
|
||||
* 根据用户名查询用户的角色和权限信息
|
||||
* @param username 用户名
|
||||
* @return 权限编码列表 (包含角色和权限)
|
||||
*/
|
||||
@Select("""
|
||||
SELECT p.code FROM t_permission p
|
||||
LEFT JOIN t_role_permission rp ON p.id = rp.permission_id
|
||||
LEFT JOIN t_role r ON r.id = rp.role_id
|
||||
LEFT JOIN t_user_role ur ON r.id = ur.role_id
|
||||
LEFT JOIN t_user u ON u.id = ur.user_id
|
||||
WHERE u.username = #{username}
|
||||
UNION
|
||||
SELECT r.code FROM t_role r
|
||||
LEFT JOIN t_user_role ur ON r.id = ur.role_id
|
||||
LEFT JOIN t_user u ON u.id = ur.user_id
|
||||
WHERE u.username = #{username}
|
||||
""")
|
||||
List<String> findAuthoritiesByUsername(@Param("username") String username);
|
||||
}
|
||||
Reference in New Issue
Block a user