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日

相关文章

  • jsp中定义和使用方法示例介绍

    下面详细讲解“JSP中定义和使用方法示例介绍”的攻略。 一、定义和使用方法 1.1 定义方法 在JSP中定义方法,可以使用<%! %>标签。例如: <%! public int add(int num1, int num2) { return num1 + num2; } %> 以上代码定义了一个名为“add”的方法,该方法返回两个整…

    Java 2023年6月15日
    00
  • springboot命令行启动的方法详解

    Spring Boot命令行启动的方法详解 Spring Boot是一个简化的框架,使得Spring应用程序的创建和开发变得更加容易。接下来我会详细讲解如何使用Spring Boot命令行启动一个应用程序。 1. 配置环境 在开始之前,需要确保已经安装了JDK和Maven,并且已经配置好了环境变量。可以通过java -version和mvn -version…

    Java 2023年5月26日
    00
  • JavaWeb文件上传开发实例

    JavaWeb文件上传开发实例 在JavaWeb开发中,文件上传是一个常见的功能。本篇文章将为大家介绍如何在JavaWeb项目中实现文件上传的功能。 1. 前置条件 在开发文件上传功能前,需要先了解JavaWeb中FileUpload组件。FileUpload组件是Apache提供的一个工具包,用于在Web应用中处理文件上传功能。我们需要从官方网站上下载Fi…

    Java 2023年5月19日
    00
  • IDEA生成可运行jar包(包含第三方jar包)流程详解

    下面是”IDEA生成可运行jar包(包含第三方jar包)流程详解”的完整攻略: 一、前置条件 在进行下面的步骤之前,必须确保满足以下条件: 安装了Java开发工具包(JDK) 安装了IntelliJ IDEA开发环境 确保本地已经存在可运行程序的代码 二、生成可运行jar包 1. 配置Maven 在IntelliJ IDEA中打开Maven Projects…

    Java 2023年5月19日
    00
  • 浅谈一下maven优缺点及使用和特点

    浅谈一下maven优缺点及使用和特点 Maven 是一款构建工具,它提供了标准化的构建过程,能够帮助开发者高效地构建、打包和部署项目。以下是 Maven 的优缺点及使用和特点: Maven 优点 依赖管理:Maven 可以自动下载项目中所需的依赖项,并对它们进行统一的管理。使用 Maven 可以方便地添加、删除、升级依赖库。 构建工具:Maven 支持多种构…

    Java 2023年5月20日
    00
  • Spring Data JPA实现数据持久化过程详解

    Spring Data JPA实现数据持久化过程详解 Spring Data JPA是Spring Framework和Hibernate框架的共同合作产物,它简化了JPA(Java Persistence API)的实现,提供了许多方便的功能,可以使我们更加容易地访问和操作持久化数据。下面将详细介绍Spring Data JPA实现数据持久化的过程。 添加…

    Java 2023年5月20日
    00
  • java web学习_浅谈request对象中get和post的差异

    Java Web学习:浅谈request对象中get和post的差异攻略 在Java Web开发过程中,request对象是一个非常重要的对象。这个对象可以帮助开发者获取客户端发送的请求,进而进行相应的处理。而对于request请求方式,一般分为get和post两种方式。本攻略将详细讲解这两种方式的差异,帮助开发者更好地应用到项目实践中。 了解get和pos…

    Java 2023年6月15日
    00
  • java字符串遍历以及统计字符串中各类字符

    让我来详细讲解一下 Java 字符串遍历以及统计字符串中各类字符的攻略。 什么是字符串 在 Java 中,字符串是一个由零个或多个字符组成的对象。Java 中的字符串类型是 String,可以用来表示文本内容。字符串可用于存储、比较、格式化和输出文本等各种用途。 字符串的遍历 字符串的遍历是指按照顺序依次访问字符串中的每一个字符。Java 中字符串的遍历通常…

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