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日

相关文章

  • Spring超详细讲解BeanUtils改造

    Spring超详细讲解BeanUtils改造攻略 1. 背景 在Spring框架中,BeanUtils是一个非常常用的工具类。它提供了许多方法来进行JavaBean之间的属性复制。然而,在实际应用中,我们可能需要对BeanUtils进行一些自定义的扩展,以满足业务的需求。本攻略将介绍如何进行BeanUtils的改造,以便更好地使用它来满足实际业务需求。 2.…

    Java 2023年5月19日
    00
  • 浅谈JSP与Servlet传值及对比(总结)

    浅谈JSP与Servlet传值及对比(总结)是一篇比较详细介绍 JSP 和 Servlet 之间数据传递的文章。在该文章中,作者讲述了JSP和Servlet传值的几种方式以及它们在不同情况下的使用情况。 1. JSP与Servlet JSP和Servlet是相互联系的,JSP可以添加Java代码,Servlet可以生成HTML代码。JSP和Servlet重点…

    Java 2023年6月15日
    00
  • java中url汉字编码互相转换实例

    下面是“Java中URL汉字编码互相转换实例”的完整攻略: 1. URL编码和解码 在Java中,使用java.net.URLEncoder类可以对URL进行编码,而使用java.net.URLDecoder类可以对URL进行解码。这两个类的使用方法类似,下面是一个示例: import java.net.URLEncoder; import java.net…

    Java 2023年5月20日
    00
  • Struts2访问Servlet的三种方式

    Struts2访问Servlet的三种方式 概述 在Struts2中,我们可以通过三种方式来访问Servlet。这三种方式分别是: 直接使用Servlet的请求 使用RequestDispatcher转发请求 使用redirect重定向请求 接下来,我们将简要介绍这三种方式,并提供代码示例来演示如何使用它们。 直接使用Servlet的请求 我们可以通过直接使…

    Java 2023年5月20日
    00
  • 通过Spring Shell 开发 Java 命令行应用

    通过Spring Shell开发Java命令行应用,可以帮助我们方便地搭建一个强大的命令行应用程序,可以实现命令解析、命令补全等功能。下面是通过Spring Shell开发Java命令行应用的完整攻略: 1. 添加依赖 首先,我们需要在pom.xml中添加必要的依赖,这些依赖包含Spring Shell框架、Spring Boot框架和其他相关依赖: &lt…

    Java 2023年6月2日
    00
  • 华为鸿蒙HarmonyOS JavaUI 框架官网文档内容更新:组件开发指南、补充组件开发说明

    华为鸿蒙HarmonyOS JavaUI 框架官网文档更新内容包括组件开发指南和补充组件开发说明。以下是关于这两个方面的详细攻略: 组件开发指南 在HarmonyOS上进行组件开发需要使用Java语言进行开发,需要具备基本的Java语言基础知识和开发工具的使用技巧。 关注HarmonyOS官网文档的更新,获取最新的组件开发指南,阅读开发文档可以帮助我们快速上…

    Java 2023年5月24日
    00
  • java Zookeeper简述

    下面是关于“Java Zookeeper简述”的完整攻略。 Zookeeper是一个分布式应用程序协调服务,用于在分布式系统中管理和协调各种服务,如Hadoop、Storm、Kafka等。其中,Zookeeper通过提供一些基本服务将这些服务组合成更高级别的服务,例如Leader Election、Configuration Management等,以简化分…

    Java 2023年5月24日
    00
  • JSP 多条SQL语句同时执行的方法

    JSP 多条 SQL 语句同时执行是一个常见的需求,本文将为大家提供一些实现这个需求的方法。 使用批处理执行多条 SQL 语句 批处理是一种让数据库能够在同一个事务中同时执行多条 SQL 语句的技术。通过使用 JDBC 的 addBatch() 方法将多条 SQL 语句添加到批处理中,在添加完毕后再通过 executeBatch() 方法一次提交批处理中的所…

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