⑴Guns后台管理系统是一款项目快速开发管理系统网站搭建模板,基于Spring
⑵Boot开发,内置主控面板组织架构用户管理机构管理职位管理权限管理基础数据系统功能通知管理监控管理等多种功能操作模块,完成网站系统搭建后,可以对含系统管理代码生成多数据库适配SSO单点登录邮件发送任务调度持续集成docker部署等功能进行管理和配置,是一款非常专业实用的网站管理系统,专为站长网站搭建而设计,可以让所有人拥有属于自己的运营网站。
⑶资源扫描是Guns研发的独立模块,资源扫描可以将项目中所有接口(API的元数据信息搜集起来。
⑷包括接口的url接口的名称接口的参数接口返回值,甚至接口是否需要认证,接口是否需要鉴权等。
⑸Guns默认启用了多数据源支持,动态数据源可以让用户在使用系统时,对接多个数据库实例,从而操作不同数据源的数据。数据源可通过在线配置进行。
⑹数据源种类支持mybatis支持的多种数据源,适配多种数据源时,需要引入多种数据源的驱动,jdbc
⑺url也需要进行相应修改,需要注意的是,如果项目中有自定义编写的sql,需要对这些sql进行多种数据库的适配。
⑻通过多语言配置菜单,可以在线管理多语言的翻译项,在线修改不同项的翻译值。
⑼Guns自带多语言模块,可实现菜单,字段,提示等多位置的多语言翻译。
⑽Guns默认集成druid监控界面,可以监控数据库连接池使用情况。
⑾服务器信息监控,可以查看系统cpu以及内存的使用情况。
⑿源码注释详细,便于阅读
⒀代码无后门,可放心使用
⒁提供丰富的接口,易于扩展
⒂包含系统管理等常用功能
⒃多年一线企业的沉淀,健壮稳定
⒄多样化的前端组件,自由定制拓展
⒅HTML+CSS响应式设计
⒆支持平板智能手机微信浏览器
⒇支持IE+,支持各种常见的浏览器
⒈框架易上手,快速开发新项目
⒉大大降低企业研发成本
⒊采用主流技术,业界通用认可
⒋帮您省去了产品设计等人员的工作
⒌一次永久授权,终身免费更新
⒍与同类产品相比性价比最高
⒎每周至少一次的框架更新
⒏专业的售后支持,后顾无忧
⒐获取Guns授权,享受最优服务
⒑在Guns项目包结构中,后端程序分为三个包区分开,configcoremodular
⒒config包存放为项目的配置,我们推荐项目使用Configuration方式装配Bean。
⒓core包存放项目的核心机制,以及项目公用的枚举异常常量等。
⒔modular包存放项目的业务代码,modular包下可再按业务划分,或者直接分为controllerentitymapper等包。
⒕代码编写时,我们追求言简意赅的注释,每个注释段落空行分开。
⒖功能模块编写时,我们尽可能解耦,模块之间只依赖接口,不依赖实现,更加容易拓展。
⒗内核是一个项目的基石,其中包含项目需要的sdk配置约束规范业务代码等。
⒘内核的设计有着相当重要的作用,内核稳定项目构建才可以稳定。
⒙Guns的内核全部封装在Roses-Kernel项目中。
⒚开源地址:(opens new
⒛window)在Guns中,内核以maven模块的形式展现,目前Guns中共有个模块,每个模块包含了一种功能。
①并且,这些模块大致分为如下几类,概要为 ADOSP
②Advanced为全模块的规则,所有的代码都需要遵守的规则,包含枚举,异常,基础类等
③Development,给开发人员用的快速开发工具,方便快速开发,例如日志,邮件,短信,缓存等
④Operations,偏运维类的封装,例如监控,调用链记录模块(待补充
⑤Service,偏应用功能的封装,例如用户管理,角色管理,公司管理,每个模块是一个独立的业务
⑥Pattern,设计模式或业务解决方案,例如高并发的解决方案,海量数据存储方案等(待补充
⑦模块建立的基本思想是建立开发规范,封装重用的代码,提高开发效率。
⑧#. 每个大模块内部分apisdkbusiness三类子模块
⑨api为对其他模块暴露的接口
⑩sdk是对核心功能的封装
Ⅰbusiness是带业务逻辑的封装
Ⅱ以短信模块kernel-d-sms为例,sms-api模块是接口模块,是短信功能提供的所有接口。
Ⅲsms-sdk-aliyun模块是阿里云短信的sdk封装。
Ⅳsms-sdk-tencent模块是腾讯云短信的sdk封装。
Ⅴsms-business-validation模块是带短信验证功能(业务的模块。
Ⅵapisdkbusiness为三类模块,不是三个,一般api模块仅一个,sdk和business类模块可以无限拓展。
Ⅶ#. 依赖接口不依赖实现
Ⅷ模块与模块之间的调用,通过api模块来调用(例如sms-api,而不直接依赖他的实现(sms-sdk或sms-business,具体的实现由business模块决定或者由具体项目决定。
Ⅸ同一个项目,一个api的实现可以有两个。
Ⅹ需要通过Resource(name =
㈠"xxx")指定资源的名字,也可利用Primary注解来替换使用已经装载的spring容器中的bean
㈡start提供了默认的自动配置,在项目使用时,可以根据需要进行排除依赖。
㈢business可以依赖sdk层,sdk层可依赖api层,反之不行。
㈣不允许business模块依赖其他business模块,只允许在项目中出现同时引用两个business模块的情况。
㈤S类的api模块可以依赖D类的api,反之不行,防止出现互相依赖(循环依赖的情况。
㈥stylefeng开源技术Guns为用户提供更多样化的基础功能,这些功能开箱即用,为开发项目提供了很多便利。
㈦stylefeng开源技术Guns采用基于角色的权限控制,框架使用jwt + session(非http session的方式进行安全校验。
㈧权限管理是基于RBAC权限模型。
㈨什么是RBAC,请看如下描述,来自于百度百科:
㈩其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。
这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。
角色为权限控制业务的核心,通过角色可以关联绑定菜单和按钮的权限(控制菜单和按钮是否显示,角色也可以关联接口权限(api接口从而控制该角色是否可以进行接口的访问。
另外,角色也可以设定数据范围,通过数据范围的设定,可以控制角色有哪些机构数据范围的权限。
新版Guns采用自研安全框架,相比shiro和spring security有较低的学习成本。
在保证相同防御功能的前提下,具备高度的可拓展性。
安全框架简化了认证和鉴权的流程,抽象出一系列鉴权和认证以及会话管理接口提供使用。
在对接不同系统单点,自定义登录校验等方面具有较强的优势。