• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

cslc-springcloud: 基础的RBAC权限微服务管理系统,后端项目基于Spring Cloud、OAuth2 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

cslc-springcloud

开源软件地址:

https://gitee.com/cslc/cslc-springcloud

开源软件介绍:

cslc-springcloud

介绍

基础的RBAC权限微服务管理系统,欢迎感兴趣的小伙伴参与交流学习。

版本:1.2.1正式版
交流沟通群:78780245

一.系统组织架构

1.1 目录模块说明

  • 注册中心Ncaos
    推荐使用官网稳定版,本项目采用nacos1.3.1

  • admin
    提供后台管理基础功能的服务

    • 用户管理
    • 组织机构
    • 角色权限管理
    • 数据字典
    • 菜单管理
  • auth
    认证授权服务,登陆验证等功能

  • base
    提供系统公共基础相关工具的包

  • gateway
    网关服务,对外统一网关

  • doc目录
    项目相关资料

1.2 技术架构说明

项目中技术会定时更新到最新的稳定版本

后端项目技术栈

  • 基础技术栈 Spring Cloud、OAuth2、Nacos、Spring Boot、Spring MVC、MyBatis等
  • 插件 Lombok、Swagger、Mybatis-plus、PageHelper等
  • 数据库 MySql8、Redis6等

前端项目技术栈
vue、vuex、element-ui、axios等主流技术开发

1.3 代码规范

本项目采用 阿里代码规范

二、开发环境搭建

环境搭建此处只做整体思路说和提供参考文档,如有具体细节有问题可加群交流沟通。

本项目环境推荐,openjdk11、IDEA、虚拟机(Linux)、nginx、docker

2.1 后端项目开发环境搭建

2.1.1 maven打包

在当前项目根目录执行,目的下载项目相关依赖,打基础包

# 打包当前项目mvn clean install

2.1.2 插件配置(IDEA)

需要的插件可以在编辑器的插件市场下载安装

  • 配置Lombok插件, 简化实体的get和set方法等
  • 配置maven插件,项目采用maven管理构建

2.1.3 其他配置

  • 安装数据库(mysql8.0.13、redis6.0),推荐采用docker安装

  • 执行目录中的建表sql脚本(/doc/db/)、初始化数据sql脚本(/doc/db/init/

  • 启动ncaos后,调整cs_ncaos数据库中各个服务的数据库配置,通过web页面手动修改

  • 启动其他服务时修改bootstrap.yml中的配置:两种方式任选(1.直接调整NACOS_SERVER_ADDR 和 NACOS_SERVER_PORT为自己ncaos服务的ip地址、端口。2.参考4.3 IDEA配置外部依赖文档说明)

  • 启动基础服务顺序: 1.ncaos服务、2.admin服务、3.auth服务、4.gateway服务

  • 系统中的账号密码: ncaos服务(默认账号ncaos,密码ncaos)、业务服务(默认账号admin,密码123456)

2.2 前端项目环境搭建

前端项目环境搭建

三、项目部署

服务器环境openjdk11、nginx

3.1 后端部署

通过maven打包业务项目,生成3个基础服务jar包部署到云服务器,目录结构按自己需求存放即可

  • 启动后端项目,在jar包同级目录创建启动start.sh脚本,通过linux命令执行
#!/bin/bashnohup java -jar ./cs-admin.jar >./logs/nohup.out 2>&1 &
  • 关闭后端项目,直接通过linux杀进程命令:kill -9 xxx(后期优化关闭方式)

3.2 前端部署

在nginx的配置文件中nginx.conf,添加以下配置

    server {        listen       80;        # 公网域名或者ip地址        server_name  www.xxxxx.cn;        location ^~ /api/ {           # 后端程序地址           proxy_pass http://localhost:4380;           proxy_connect_timeout 500s;           proxy_read_timeout 500s;           proxy_send_timeout 500s;           proxy_set_header Host $host;           proxy_set_header X-Real-IP $remote_addr;           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        }                location / {            # 前端项目部署目录            root   /html/cslc-admin-ui/;            index  index.html index.htm;        }    }

3.3 密码加密

3.3.1 得到加密后的数据

public static void main(String[] args) {    BasicTextEncryptor textEncryptor = new BasicTextEncryptor();    // 加密所需的salt    textEncryptor.setPassword("xxxxx");    // 待配置的加密数据,使用包含 ENC(xxx)    System.out.println("ENC("+textEncryptor.encrypt("123456")+")");}
3.3.2 添加已下配置```yamljasypt:  encryptor:    password: rinxt527c # 自己自定义盐值    algorithm: PBEWithMD5AndDES    iv-generator-classname: org.jasypt.iv.NoIvGenerator

3.3.3 mysql参考案例

spring:  datasource:    password: ENC(xxx) # xxx 替换成自己加密后是数据

四、项目环境推荐文档

4.1 本地开发推荐

4.2 服务器环境推荐

4.3 其他推荐

  • OpenJDK11安装 服务器和本地推荐安装一致的jdk版本
  • IDEA配置外部依赖 SpringBoot支持依赖外部文件配置,直接在idea中配置环境变量,不需要手动修改bootstrap.yml

五、项目预览图


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap