本期推荐的 BootstrapAdmin由于前台采用 Bootstrap 布局样式,所以就叫做 BootstrapAdmin。
简介
BootstrapAdmin (简称 BA)。本系统可以用于所有的 Web 应用程序,目前版本已经升级到 NET CORE 具备跨平台能力。数据库方面同时支持多种数据库,详细列表见后面 数据库 的详细列表,切换数据源仅需更改配置文件无需重启应用程序,配置简单灵活。UI 前端使用流行的 Bootstrap 框架布局对移动设备的兼容性非常好,适应目前市场几乎所有终端设备。本系统还具备单一后台支持多前台的特色,提供 单点登录(SSO) 的能力。
主要功能
- 通过配置与前台网站集成
- 构建前台系统分层级菜单
- 提供单一后台支持多种前台应用配置
- 提供单点登录
- 集成系统认证授权模块
- 提供角色,部门,用户,菜单,前台应用程序授权
- 提供字典表用于前台网站的个性化配置
- 完全响应式布局(支持电脑、平板、手机等所有主流设备)
- 内置多数据源支持,配置简单立即生效无需重启
- 内置数据内存缓存机制,页面快速响应
- 内置数据 操作日志 与用户 登录日志
数据库结构
- 通过角色获取到用户 Roles-UserRoles-Users
- 通过角色获取到导航菜单 Roles-NavigationRoles-Navigations
- 通过角色获取到部门以及部门用户 Roles-RoleGroup-Groups-UserGroup-Users
- 通过角色获取到授权应用 Roles-RoleApp
安装教程
开发环境搭建教程
- 安装 .net core 3.1.100 SDK
- 安装 Visual Studio 2019 (最小版本号 16.4)
- 获取本项目代码 BootstrapAdmin:https://gitee.com/LongbowEnterprise/BootstrapAdmin
- 数据库对本项目开发环境默认为 SQLite 数据库无需任何操作请查看 数据库配置
- 系统登录用户名与口令
用户名:Admin/User
密码:123789
开发环境使用
- 后台工程 Bootstrap.Admin
- 前台工程 Bootstrap.Client
命令行启动,分别到 Bootstrap.Admin 工程与 Bootstrap.Client 工程下执行
dotnet run
或者运行带参数的命令行
dotnet run --project ./src/admin/Bootstrap.Admin
dotnet run --project ./src/client/Bootstrap.Client
多项目启动
界面
前端权限实现原理
Startup 容器注册网页元素权限控制服务
services.AddButtonAuthorization();内部实例化
DefaultButtonAuthorization 并且使用
DBHelper.AuthorizateButtons 方法作为默认网页元素授权检查判断函数
网页在服务器端进行 Razor 视图引擎渲染时通过asp-auth属性标签自动调用
AutorizateTagHelper.Process(), Process 方法内部通过容器注入的服务调用
IButtonAuthorization.Authorizate()对网页元素进行权限检查,通过检查则对控件进行渲染,从而达到网页元素权限控制