spring-boot-plus V1.4.0发布 集成用户角色权限部门管理(推荐)

Spring Boot Plus V1.4.0发布

Spring Boot Plus是一个基于SpringBoot的项目快速开发脚手架,版本 V1.4.0 提供了用户角色权限部门管理的集成,方便用户快速搭建管理后台。

安装

首先,我们需要安装Java和Maven,参考:
- Java 安装教程
- Maven 安装教程

Spring Boot Plus 是通过Maven进行构建和管理的,我们可以使用以下命令将代码克隆到本地:

git clone https://github.com/geekidea/spring-boot-plus.git

然后,进入spring-boot-plus目录:

cd spring-boot-plus

配置

Spring Boot Plus V1.4.0 集成了用户角色权限部门管理,需要进行相关的配置。

数据库配置

application.yml 中配置数据库信息,如下所示:

# Datasource
spring:
  datasource:
    url: jdbc:mysql://${MYSQL_HOST:localhost}:3306/spring-boot-plus?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
    username: root
    password: root

权限管理配置

application.yml 中进行权限管理相关的配置,如下所示:

# 配置
spring:
  security:
    auth:
      # 超级管理员初始账号
      init-username: admin
      init-password: admin123
      # 需要鉴权的接口地址开头
      auth-url-patterns:
        - "/api/**"
        - "/v1/**"
      # 忽略鉴权的接口地址开头
      ignore-url-patterns:
        - "/openapi/**"
        - "/file/**"
      # 不需要拦截验证的url列表
      permit-all:
        - "/doc.html"
        - "/api-docs-ext"
        - "/v2/api-docs-ext"
        - "/v2/api-docs"
        - "/swagger-resources/configuration/ui"
        - "/swagger-resources/configuration/security"
        - "/webjars/**"
        - "/swagger-ui.html"
        - "/swagger/**"
        - "/auth/**"
      # 鉴权失败时的响应信息
      unauthorized-response-message: {"success":false,"code":401,"msg":"鉴权失败,请重新登录"}

# 角色与权限
plus:
  security:
    role:
      allowed-api:
        # 各个接口的权限定义
        # 示例:一个hello接口需要EDITOR、ADMIN权限
        - name: hello
          url: /hello/**
          permission:
            - ROLE_EDITOR
            - ROLE_ADMIN

# 账号与部门
plus:
  system:
    user:
      # 超级管理员账号信息定义
      admin:
        username: admin
        password: admin123

日志配置

application.yml 中进行日志配置,如下所示:

# Log
logging:
  level:
    root: info
    com.geekidea.springbootplus: debug
  pattern:
    console: '%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %highlight(%-5level) %cyan(%logger{48}) %white(---) %msg %n'

使用

Spring Boot Plus V1.4.0 集成了用户角色权限部门管理,可以直接使用。

系统管理

Spring Boot Plus V1.4.0 实现了用户、角色、权限、部门等管理功能,我们可以访问以下地址来进行相关管理:

  • /system/user 管理用户
  • /system/role 管理角色
  • /system/permission 管理权限
  • /system/dept 管理部门

授权管理

Spring Boot Plus V1.4.0 集成了授权管理,需要在 controller 或者其他方法中通过 @PreAuthorize 进行授权,例如:

@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping("")
    @PreAuthorize("hasAnyAuthority('ROLE_EDITOR','ROLE_ADMIN')")
    public Result<String> hello() {
        return Result.ok("Hello World");
    }

}

以上示例定义了一个 /hello 的接口,需要拥有 ROLE_EDITOR 或者 ROLE_ADMIN 权限才能访问。

示例

以下是两个示例代码:

示例1:获取当前用户信息

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private CurrentUserUtil currentUserUtil;

    @GetMapping("")
    public Result<UserVo> currentUser() {
        SysUser currentUser = currentUserUtil.getCurrentUser();
        UserVo userVo = UserVo.builder()
                .id(currentUser.getId())
                .username(currentUser.getUsername())
                .build();
        return Result.ok(userVo);
    }
}

以上示例中,我们通过 CurrentUserUtil 获取当前用户信息,返回一个自定义的 UserVo 对象。

示例2:获取当前用户的所有角色

@RestController
@RequestMapping("/role")
public class RoleController {

    @Autowired
    private CurrentUserUtil currentUserUtil;

    @Autowired
    private SysRoleService sysRoleService;

    @GetMapping("/list")
    public Result<List<SysRoleVo>> roleList() {
        SysUser currentUser = currentUserUtil.getCurrentUser();
        List<SysRoleVo> list = sysRoleService.getRoleVoListByUserId(currentUser.getId());
        return Result.ok(list);
    }

}

以上示例中,我们通过 SysRoleService 获取当前用户的所有角色,并返回自定义的 SysRoleVo 对象列表。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring-boot-plus V1.4.0发布 集成用户角色权限部门管理(推荐) - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • SpringBoot集成kafka全面实战记录

    下面我将为大家详细讲解SpringBoot集成Kafka全面实战记录的完整攻略。 1. 环境搭建 在开始之前,我们需要先完成环境搭建,包括安装JDK、安装Kafka、创建Kafka集群等操作。具体的步骤可以参考Kafka官方文档,这里不再赘述。 2. SpringBoot集成Kafka 2.1 引入依赖 首先,在SpringBoot项目中引入Kafka相关的…

    Java 2023年5月20日
    00
  • java编译时与运行时概念与实例详解

    Java编译时与运行时概念与实例详解 在Java程序员的日常工作中,熟练掌握Java编译时和运行时的概念非常重要。本文将详细介绍Java编译时和运行时的相关知识以及一些实例。 Java编译时 概念 Java编译时是指将Java源代码编译为class文件的过程。在Java程序开发中,一般先编写Java源代码,然后通过JDK中的javac命令将Java源代码编译…

    Java 2023年5月20日
    00
  • 基于SSM 集成 Freemarker模板引擎的方法

    基于SSM集成Freemarker模板引擎的方法主要分为以下三步: 1. 导入Freemarker相关依赖包 在pom.xml文件中,我们需要导入Freemarker的依赖包。具体代码如下: <!– Freemarker 引擎 –> <dependency> <groupId>org.freemarker</gr…

    Java 2023年5月31日
    00
  • SpringBoot整合Kafka工具类的详细代码

    下面是SpringBoot整合Kafka工具类的详细代码攻略。 环境准备 确认已经安装JDK、Maven和Kafka 在Maven中添加Kafka依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kaf…

    Java 2023年5月19日
    00
  • linux上传并配置jdk和tomcat的教程详解

    下面是 “linux上传并配置jdk和tomcat的教程详解”的完整攻略: 需要的工具和资源 JDK和Tomcat的安装包 一台Linux服务器和SSH工具(例如PuTTY) 一个用户账户,拥有sudo权限 上传JDK和Tomcat安装包 将JDK和Tomcat的安装包上传到Linux服务器上,可以使用scp命令,如下所示: scp /path/to/jdk…

    Java 2023年5月19日
    00
  • 关于MVC的dao层、service层和controller层详解

    关于MVC的dao层、service层和controller层详解 在 MVC 设计模式中,通常将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。为了更好地组织代码,通常将控制器进一步分为三个层次:DAO 层、Service 层和 Controller 层。本文将详细讲解 MVC 的 DAO 层、Service 层…

    Java 2023年5月18日
    00
  • Spring Security安全框架之记住我功能

    下面我将详细介绍“Spring Security安全框架之记住我功能”的完整攻略,包括步骤、关键代码和示例。希望能够对您有所帮助。 步骤 导入相关依赖:在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.security</groupId> <ar…

    Java 2023年5月20日
    00
  • SSM框架实现分页和搜索分页的示例代码

    下面我来为你详细讲解SSM框架实现分页和搜索分页的完整攻略。 一、前期准备 在实现SSM框架的分页和搜索分页功能前,需要进行一些前期准备工作: 导入MyBatis和Spring相关依赖。 创建数据库表,并插入数据。 配置数据源和MyBatis等相关配置文件。 定义Mapper和Service层接口及其实现类。 编写Controller层接口。 二、实现分页功…

    Java 2023年6月16日
    00
合作推广
合作推广
分享本页
返回顶部