基于 Spring cloud
、nacos
、vue
的前后端分离分布式微服务Saas
权限管理系统。
租的阿里云的服务器,内存有限,只搭了一套正式环境,下面运维/运营只给了查看权限,没有操作权限。更多的功能建议自己下载代码运行后试试吧。
admin1
/123456aA.
15739575703
/123456aA.
00002
/a123456
00002
/aA123456
Gitee
地址:https://gitee.com/tinyLC/nodecollege-upms
基于该权限管理系统,配套开发了C端博客系统。
如果觉得不错的话,可以给我一个start嘛?
IM
后端nginx
:nginx
配置文件sql
: 初始化脚本管理员登录
导航栏功能
系统管理
TODO
)fastdfs
进行存储
管理员/用户管理
管理员/用户管理
管理员/用户机构管理
管理员/用户角色管理
授权/解除授权菜单、机构、机构管理员
租户管理
日志管理
ip
、入参出参任务管理
数据权限管理
访问统计信息
netty
、webSocket
实现
以三级域名作为租户代码
根据权限生成授权菜单树
前后端服务 | 对应功能 | 是否开源 |
---|---|---|
/server/operate /server/gateway /ui/operate
|
管理员权限管理 微服务接口管理 前端管理 产品管理 网关管理 配置管理 文件管理 |
是 |
/server/log /server/sync
|
系统日志管理 任务管理 任务日志管理 |
是 |
/ui/me |
用户权限管理 | 是 |
/server/chat |
聊天系统 通讯录 |
是 |
/server/tenant /ui/tenant
|
租户权限管理 | 是 |
/server/worldTree /ui/web
|
世界树和辩论堂相关功能 | 否 |
/server/article /ui/article /ui/article-info
|
文章相关功能 | 否 |
/server/nacos
、operate
、gateway
和/me/operate
是基础微服务,只运行这四个服务,即可拥有运维运营及管理员主要功能。
/server/log
、sync
这两个后端服务,提供日志和任务调度功能,不启动这两个微服务的情况下,请确保其他服务配置文件中日志推送标志不为true(默认为false) log.posh=false
,为true的情况下,每个微服务都会将各自的日志信息存储到redis
中,然后靠sync
和log
服务从redis
中取出进行消费。
/ui/me
,运行这个前端服务,即可使用C端用户功能。
/server/chat
,运行这个后端服务,C端用户即可使用聊天和通讯录功能,前端在/ui/me
中
/server/tenant
,/ui/tenant
,运行这两个服务后,可以使用租户管理相关功能。租户功能除了依赖之前的基础服务外,还依赖C端用户的功能,因为租户成员账号是 C端用户的一个身份,一个C端用户可以有多个租户成员账号。
注:当然要使用上述的功能,还得开通相应的权限才行
server
和ui
文件内的工程都是独立的,正规公司都是每个工程都单独一个git工程,我这为了方便放一个git里了。
创建数据库、导入数据
启动redis
、nacos
# redis自行启动,nacos在/server/nacos/bin/ 目录中有配套的启动文件
# 注意linux下单机启动命令如下
sh startup.sh -m standalone
配置启动/server/operate、gateway
operate是基础核心服务,gateway是接口网关,所有前端接口调用都走gateway,gateway是动态网关,网关信息从redis中的获取(operate启动时将网关信息从数据库读取然后存储到redis中)。
启动/ui/operate
# /ui/operate
npm install
npm run dev
启动成功后访问 http://localhost:8081/admin/login 登录即可 运维运营用户名/密码 admin
/123456aA.
此时除了日志功能、任务调用功能访问会报404,租户功能不能正常使用外,其他功能都能正常使用了。
启动/ui/me
# /ui/me
npm install
npm run dev
启动成功后访问 http://localhost:8083/me/login 登录 C端用户名/密码 15739575703
/123456aA.
此时处理聊天功能、租户功能外,C端功能都能使用。
配置启动/server/chat
启动成功后,C端聊天功能能够正常使用
配置启动/server/log、sync
启动成功后,运维运营端日志功能和任务调度功能能够正常使用了
配置启动/server/tenant
启动/ui/tenant
启动成功后访问,http://localhost:8084/tenant/login 租户成员账号/密码 15739575703
/a123456
此时,租户功能能够正常使用了。
注意:这是多租户系统,所以每个租户的登录地址都应该是这样的 http://{租户代码}.域名.com/tenant/login,通过二级域名的方式进行登录,然后将二级域名作为一个参数传递给后端服务,用于辨识是那个租户,所以本地启动时,需要在/ui/tenant/config/index.js文件中,将要用于登录的租户成员账号对应的租户代码进行手动填入,模拟二级域名缺失的参数
'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path')
function onProxyReq (proxyReq, req, res) {
// 本地开发时,只能使用 如下设置的 B端租户代码 对应的B端账号进行登录
proxyReq.setHeader('LOGIN-TENANT-CODE', 'applyTenantTest13');
proxyReq.setHeader('ACCESS-SOURCE', 'nc-nginx');
}
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/tenantApi': {
target: 'http://localhost:1081/',
changeOrigin: true,
// 代理响应事件
onProxyReq: onProxyReq,
pathRewrite: {
'^/': '/'
}
}
},
// Various Dev Server settings
host: 'localhost', // can be overwritten by process.env.HOST
port: 8084, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
...
}
有啥通用的权限相关的需求可以提供给我,能力范围内会尽力实现
有啥问题可以加我微信问我
如果觉得不错的话,可以给我一个start嘛?
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。