JeeSite 4.x

Spring Boot 最好的快速开发平台

内置功能介绍、用户权限、数据权限、系统管理

一、组织管理

1、用户管理

用户管理是能够登录平台的账号集合,即登录用户。其最基本的属性为用户名和密码。登录用户类型分为内部员工、往来单位用户、会员用户,往来单位又分为供应商、客户、网点、院校、科研院所等。

主要功能包括:用户的维护、查询、授权角色、授权数据权限。

数据权限包括:拥有的权限和管理的权限;用户管理的数据权限被定义为管理的权限。管理的数据权限你需要在二级管理员里进行配置。

有这样的区分是因为,某用户,例如人事经理,拥有该部门下的新增和修改用户的权限,但不一定有该部门业务数据的查看权限。

为了方便管理,新增用户是不需要设置用户密码的,初始密码将在,参数设置菜单里找到 sys.user.initPassword 中设置,默认密码:123456

有时候为何配置好的角色在用户管理里无法分配,主要考虑这几方面原因:1)二级管理员,可管理的角色范围;2)角色管理中的用户类型是否是员工类型。

支持员工用户管理的附属部门功能,一个员工可归属多个部门,并支持多部门数据权限过滤。

2、机构管理

机构管理是指组织机构也是部门,采用多级组织管理维护,无限层级,支持全国应用。

3、公司管理

公司管理是可选功能,您可以选择使用,公司可设置归属区域和包含的组织机构,主要包含以下几种场景:在财务总账中具有 “帐套”的概念;在费用预算系统中具有 “出账公司”的概念;在HR系统中具有 “合同公司” 的概念;在供应链中具有“交易公司”的概念,采用多级公司管理维护。

4、岗位管理

岗位管理是可选功能,您可以选择使用,它是组织架构下的精细岗位划分,是业务流程控制、业绩考核、预警体系的基础,不同的机构、部门下的同一职务,则是不同的岗位。内部员工的属性。

岗位的主要适用场景:是面向业务管理,而角色主要是针对权限功能。

二、权限管理

1、角色管理

角色维护,是系统功能权限设置的基础,相当于权限分组,所有用户对应到相应权限角色,便具有该权限角色所赋予的所有菜单权限和操作权限。

角色中的用户类型:每种用户类型,可能所属的角色不用,如员工可能会有:经理、财务、会计、职员;会员可能会有:VIP、SVIP、SSVIP等。

授权功能菜单:给当前角色设置菜单和权限,依树状形式展示:当前用户的管理员身份下的所有菜单和权限,如果当前用户管理身份为二级管理员,则列出的是二级管理员菜单权重以下的菜单;如果当前用户管理员身份是系统管理,则列出的是系统管理员菜单权重以下的菜单;如果当前用户管理员身份是超级管理员,则列出的是超级管理员菜单权重下的菜单。此举是为了更好的提高授权安全,不能越级授权,权限互相牵制等。

这里角色的数据权限授权和用户管理里的数据权限授权是或者关系。

主要功能包括:角色维护、授权功能菜单、授权数据权限、快速分配用户。

2、二级管理员

二级管理员,是由系统管理员指定的,可以分担系统管理员的工作,可以管理用户、分配菜单权限和操作权限一种特殊角色,但它仅具备系统管理员指定范围的管理数据。

主要功能包括:二级管理员维护、设置可管理的部门、可管理的公司、可管理的角色

3、系统管理员

超级管理员(system)为开发者使用的最高级别管理员,主要用于开发和调试,有些修改会直接影响系统的正常运行。

系统管理员(admin)为客户方使用的管理员,主要用于一些基础数据配置,如机构、用户、权限、用户字典等。

多租户:可通过 application.yml 的 user: useCorpModel: true 开启多租户,如果系统开启了多租户模式(SAAS模式),则用超级管理员(system)登录后,这里就可进行新增租户管理员,也就是多租户或SAAS用户,新增的租户管理员只可以管理自己领域内的数据(如:部门、公司、用户、自定义的字典数据等)。

目前JeeSite对多租户的实现方式是表结构数据共享方式,每张表都都有一个corp_code和corp_name租户字段进行数据分离。

主要功能包括:新增租户管理员账号、新增系统管理员账号、系统管理员账号维护

三、系统设置

1、菜单管理

菜单管理主要用于配置系统菜单和操作权限。菜单即系统的功能菜单项,操作权限是属于菜单权限的子项,也就是具体的一个操作或按钮,例如:某一个菜单是“商品管理”,其对应的权限可能包括“增加”、“修改”、“删除”、“审核”、“发布”等一系列的权限。

菜单权重是指,什么样的用户或管理员可以操作或访问什么级别的菜单,对菜单的权重级别进行划分,比如:比较重要敏感的菜单,只有管理员才可以拥有。如:超级管理员可以访问二级管理员、系统管理员、超级管理员权重的菜单,但不允许访问默认权限(业务菜单);系统管理员可以访问超级管理员指定给他的系统管理员及以下权限的部分菜单;二级管理员可以访问超级或系统管理员指定给他的二级管理员及以下的部分菜单;普通用户只能访问管理员指定给他的默认权重的菜单。

2、模块管理

模块管理是针对系统功能进行模块划分,可对某个模块进行停用和启用。你可以通过API获取到模块的状态。菜单是和模块挂钩的,停用和启用后,对应菜单也同步和停用和启用。

系统启动时会自动检测模块是否安装,自动检测模块版本是否需要升级数据库,如果有数据库升级脚本,则系统自动执行。

注意:若您新增了一个自定义的模块,且指定的“主类全名”必须是一个ClassLoader中存在的类全名称,否则系统会提示“未安装”,启动后会自动更新关联的菜单为“停用”状态。

3、参数设置

参数设置是提供开发人员、实施人员的动态系统配置参数,修改参数不需要去后台修改yml文件,也无需重启服务器即可生效,这里的配置参数开发人员可以通过通用的API进行调用,和获取yml里的参数API是一致的,参数值的读取顺序是:Environment –> JVM中启动的参数 –> application.yml –> 本参数设置中的参数。

4、字典管理

字典管理是用来维护数据类型的数据,如下拉框、单选按钮、复选框、树选择的数据,方便系统管理员维护。

主要功能包括:字典分类管理、字典数据管理

5、行政区划

行政区划也是区域管理,采用多级维护,主要包括:国家、省、市、县。

6、国际化管理

主要用来维护动态数据的多语言译文管理,动态数据如:字典名称数据、菜单名称数据等。

国际化资源译文读取顺序:i18n_xx.properties中的译文 -> 本国际化设置的译文。

四、系统监控

1、访问日志

系统访问留痕的一个日志记录,可记录:接入日志、修改日志、查询日志、登录登出

2、数据监控

监控数据源信息、SQL执行效能统计、高并发下分析最慢的SQl有助于优化系统、URI访问统计。

3、缓存监控

对系统的缓存查询,查看、清理等操作,读取 Caffeine、Redis 数据。

统一的 CacheUtils 工具类操作,实现 J2Cache 二级缓存,解决网络堵塞瓶颈。

4、服务器监控

监控服务器硬件资源使用情况。获取当前JVM的状态、占用资源情况。

5、作业监控

对任务调度计划动态维护,调度日志查询,Cron表达式界面化配置,可直接配置Spring Bean调用、静态方法调用、启用、停用、运行一次等功能。

支持集群情况自动调整,分布式微服务模块实例划分。

6、在线用户

查询活动用户(3分钟之内访问的用户),查询所有在线,查询游客用户(未登录的会话),支持强制踢出在线用户会话等功能。

五、研发工具

1、代码生成工具

代码生成是帮助开发者快速生成通用增删改查的工具,一般情况生成后的代码部署后即可运行。

然后对生成后的代码进行布局调整,增加业务代码,实现你的业务。极大地简化了你的基础重复代码编写时间。

2、组件演示示例

帮助开发者快速找到组件调用的示例。

六、其它功能

1、消息推送

实现统一的消息推送接口,包含PC消息、短信消息、邮件消息、微信消息等,所有推送消息均通过 MsgPushUtils 工具类发送,无需让所有开发者了解消息是怎么发送出去的,只需了解消息发送接口即可。

实现消息模板功能,根据用自定义的模板格式并指定变量,即可生成消息内容,严格要求和管理消息数据。

包括菜单:未完成消息查询、已完成消息查询、消息模板管理

2、站内消息

站内信发送和接受,支持全部用户、按用户、按部门、按角色、按岗位发送站内消息或公告。

支持站内信消息提醒推送,包括:PC端、APP、邮件、短信、微信。

支持站内信用户读取状态查看:已读用户列表、未读用户列表。