一、組織管理
1、用戶管理
用戶管理是能夠登錄平台的賬號集合,即登錄用戶。其最基本的屬性為用戶名和密碼。登錄用戶類型分為內部員工、往來單位用戶、會員用戶,往來單位又分為供應商、客戶、網點、院校、科研院所等。
主要功能包括:用戶信息的維護、查詢、授權角色、授權數據權限。
用戶管理的數據權限:
數據權限包括:擁有的權限和管理的權限:用戶管理的數據權限被定義為管理的權限,用戶管理和機構管理的數據權限被定義為管理的權限(所以需要從 “二級管理員 -> 新增 -> 可管理的數據權限” 里授權設置)
你也可以改變這個規則,改為用戶的權限:即采用無限級授權(如:只能創建本部門的用戶,只能分配自己擁有的角色,只能分配自己擁有的菜單),這時你需要將用戶管理的權限改為擁有的權限即可,找到 application.yml 設置 user.adminCtrlPermi=1
。
支持集團形式的數據權限控制,地區、公司、部門、多級子部門。
更多關於數據權限配置,詳見專題文章:數據權限
管理的權限應用場景:
某用戶,例如人事經理,擁有該部門下的新增和修改用戶的權限,但不一定有該部門業務數據的查看權限。
用戶多部門:
支持員工用戶管理的附屬部門功能,一個員工可歸屬多個部門,並支持多部門數據權限過濾。
防越級授權:
用戶授權角色,角色授權菜單,進行多重驗證,防止非法修改提交參數,分配更高級別的角色和菜單,從根本避免越級授權的問題。
為什么配置好的角色在用戶管理里無法分配?主要考慮這幾方面原因:1)二級管理員,可管理的角色范圍;2)角色管理中的用戶類型是否是員工類型。
用戶密碼:
新增用戶時,是不需要設置密碼的,初始密碼將在,參數設置菜單里找到 sys.user.initPassword 中設置,默認密碼:123456
2、機構管理
機構管理是指組織機構也是部門,采用多級組織管理維護,無限層級,支持全國應用。
3、公司管理
公司管理是可選功能,您可以選擇使用,公司可設置歸屬區域和包含的組織機構,主要包含以下幾種場景:在財務總賬中具有 “帳套”的概念;在費用預算系統中具有 “出賬公司”的概念;在HR系統中具有 “合同公司” 的概念;在供應鏈中具有“交易公司”的概念,采用多級公司管理維護。
4、崗位管理
崗位管理是可選功能,您可以選擇使用,它是組織架構下的精細崗位划分,是業務流程控制、業績考核、預警體系的基礎,不同的機構、部門下的同一職務,則是不同的崗位。內部員工的屬性。
崗位的主要適用場景:是面向業務管理,而角色主要是針對權限功能。
二、權限管理
1、角色管理
角色維護,是系統功能權限設置的基礎,相當於權限分組,所有用戶對應到相應權限角色,便具有該權限角色所賦予的所有菜單權限和操作權限。
角色中的用戶類型:每種用戶類型,可能所屬的角色不用,如員工可能會有:經理、財務、會計、職員;會員可能會有:VIP、SVIP、SSVIP等。
主要功能包括:角色維護、授權功能菜單、授權數據權限、快速分配用戶。
授權功能菜單:
給當前角色設置菜單和權限,依樹狀形式展示,當前用戶管理權限范圍內的菜單和權限:
- 如果當前用戶身份為二級管理員,則列出的是二級管理員菜單權重以下的菜單;
- 如果當前用戶身份為系統管理員,則列出的是系統管理員菜單權重以下的菜單;
- 如果當前用戶身份為超級管理員,則列出的是超級管理員菜單權重下的菜單。
此舉是為了更好的提高授權安全,不能越級授權,權限互相牽制等。
是否系統(系統角色):
如果是系統角色,則在不同租戶下是共享的,只能有超級管理員維護它。
與用戶管理的數據權限關系:
這里角色的數據權限授權和用戶管理里的數據權限授權是或者關系。
2、二級管理員
二級管理員,是由系統管理員指定的,可以分擔系統管理員的工作,可以管理用戶、分配菜單權限和操作權限一種特殊角色,但它僅具備系統管理員指定范圍的管理數據。
二級管理員,主要是給普通用戶增加了一個二級管理員的身份,具體功能權限還是有用戶管理里分配的角色生效。從二級管理員菜單指定的角色、部門、公司等全部為是否有管理的權限。
主要功能包括:二級管理員維護、設置可管理的部門、可管理的公司、可管理的角色
3、系統管理員
超級管理員:為開發者使用的最高級別管理員,主要用於開發和調試,有些修改會直接影響系統的正常運行。
系統管理員:為客戶方使用的管理員,主要用於一些基礎數據配置,如機構、用戶、權限、用戶字典等。
多租戶:可通過 application.yml 的 user: useCorpModel: true
開啟多租戶,如果系統開啟了多租戶模式(SAAS模式),則用超級管理員(system)登錄后,這里就可進行新增租戶管理員,也就是多租戶或SAAS用戶,新增的租戶管理員只可以管理自己領域內的數據(如:部門、公司、用戶、自定義的字典數據等)。
多租戶的實現方式支持:表結構數據共享方式、模式分離方式、庫分離方式,詳情見專題文章:SaaS架構、多租戶架構
主要功能包括:新增租戶管理員賬號、新增系統管理員賬號、系統管理員賬號維護
4、權限審計
1、賬號密碼審計:未修改初始密碼、使用簡單密碼、定期未修改密碼、長期未登錄、未設置密保、結果導出
2、菜單權限審計:根據菜單及權限查詢,都有哪些用戶
3、用戶權限審計:根據用戶查詢,都有哪些菜單及權限
在參數配置里找到 “sys.user.passwordModifySecurityLevel” 可設置賬號密碼修改最低安全等級(默認是 0)
密碼等級規則包括:密碼長度大於等於8、包含大寫、包含小寫、包含數值、包含符號
0:不限制等級(用戶在修改密碼的時候不進行等級驗證)
1:限制最低等級為很弱(密碼驗證規則符合1種的,為簡單密碼)
2:限制最低等級為弱(密碼驗證規則符合2種的,為簡單密碼)
3:限制最低等級為安全(密碼驗證規則符合3到4種的,為安全)
4:限制最低等級為很安全(密碼驗證規則符合5種的,為很安全)
三、系統設置
1、菜單管理
菜單管理主要用於配置系統菜單和操作權限。菜單即系統的功能菜單項,操作權限是屬於菜單權限的子項,也就是具體的一個操作或按鈕,例如:某一個菜單是“商品管理”,其對應的權限可能包括“增加”、“修改”、“刪除”、“審核”、“發布”等一系列的權限。
菜單權重是指,什么樣的用戶或管理員可以操作或訪問什么級別的菜單,對菜單的權重級別進行划分,比如:比較重要敏感的菜單,只有管理員才可以擁有。如:超級管理員可以訪問二級管理員、系統管理員、超級管理員權重的菜單,但不允許訪問默認權限(業務菜單);系統管理員可以訪問超級管理員指定給他的系統管理員及以下權限的部分菜單;二級管理員可以訪問超級或系統管理員指定給他的二級管理員及以下的部分菜單;普通用戶只能訪問管理員指定給他的默認權重的菜單。
若想隱藏菜單圖標,設置為 hide
即可。
菜單的 URL 規則:
1、如果以 /// 開頭,則代表是站點根路徑(結果:http://localhost/{href})
2、如果以 // 開頭,則代表是工程根路徑(結果:http://localhost/{ctxPath}/{href})
3、如果以 / 開頭,則代表是管理根路徑(結果:http://localhost/{ctxPath}/{adminPath}/{href})
菜單的 URL 支持變量,變量格式 {變量名} 規則如下:
1、{ssoToken} : 單點登錄的token編碼,url參數中的參數分隔符請使用“%26”進行轉義,
例如:{projectUrl}/sso/{ssoToken}?url=/sys/user/list?p1=v1%26p2=v2&relogin=true
2、{userCode} : 當前用戶編碼
3、{userName} : 當前用戶名稱
4、{userType} : 當前用戶類型
5、{corpCode} : 當前用戶編碼
6、{corpName} : 當前用戶名稱
7、{menuCode} : 當前用戶類型
8、{menuParentCode} : 當前用戶類型
9、{menuParentCodes} : 當前用戶類型
10、userCache 中的 Key 可作為變量名
11、yml 或 sys_config 中的 Key 可作為變量名
2、模塊管理
模塊管理是針對系統功能進行模塊划分,可對某個模塊進行停用和啟用。你可以通過API獲取到模塊的狀態。菜單是和模塊掛鈎的,停用和啟用后,對應菜單也同步和停用和啟用。
系統啟動時會自動檢測模塊是否安裝,自動檢測模塊版本是否需要升級數據庫,如果有數據庫升級腳本,則系統自動執行。
注意:若您新增了一個自定義的模塊,且指定的“主類全名”必須是一個ClassLoader中存在的類全名稱,否則系統會提示“未安裝”,啟動后會自動更新關聯的菜單為“停用”狀態。
模塊管理提供了代碼生成功能,可快速創建模塊,並生成對應 Maven工程代碼。
新建模塊生成的代碼,可自定義配置生成模板,添加業務功能等。
3、參數設置
參數設置是提供開發人員、實施人員的動態系統配置參數,修改參數不需要去后台修改yml文件,也無需重啟服務器即可生效,這里的配置參數開發人員可以通過通用的API進行調用,和獲取yml里的參數API是一致的,參數值的讀取順序是:Environment --> JVM中啟動的參數 --> application.yml --> 本參數設置中的參數。
4、字典管理
字典管理是用來維護數據類型的數據,如下拉框、單選按鈕、復選框、樹選擇的數據,方便系統管理員維護,如果客戶要求增加或變更一個配置項,只需要修改對應的字典類型數據即可,不需要修改代碼。
主要功能包括:字典分類管理、字典數據管理
5、行政區划
行政區划也是區域管理,采用多級維護,主要包括:國家、省、市、縣。
6、國際化管理
主要用來維護動態數據的多語言譯文管理,動態數據如:字典名稱數據、菜單名稱數據等。
國際化資源譯文讀取順序:i18n_xx.properties中的譯文 -> 本國際化設置的譯文。
四、系統監控
1、訪問日志
系統訪問留痕的一個日志記錄,可記錄:接入日志、修改日志、查詢日志、登錄登出。
日志標題智能攔截,無需你單獨寫注解去明確日志。日志標題智能讀取,規則如下:
1、去掉請求地址結尾的 / 斜杠,根據 請求地址 去找菜單表關聯的地址
2、如果還沒找到,就嘗試通過 Controller 里指定的 權限字符串 去找菜單
3、如果還沒找到,就嘗試 請求地址 的上一個路徑(如去掉 list、save、select)去找菜單
4、找到菜單后,返回 菜單的全路徑名,如:系統設置-機構用戶-用戶管理-編輯
5、如果沒找到,返回 未知操作,作為日志標題名
v4.2.3 新增表單提交前后的差異數據分析,新值和舊值比較,較大文本展示差異數據結果。
2、數據監控
監控數據源信息、SQL執行效能統計、高並發下分析最慢的SQl有助於優化系統、URI訪問統計。
3、緩存監控
對系統的緩存查詢,查看、清理等操作,讀取 Caffeine、Redis 數據。
統一的 CacheUtils 工具類操作,實現 J2Cache 二級緩存,解決網絡堵塞瓶頸。
4、服務器監控
監控服務器硬件資源使用情況。
- 獲取 CPU 狀態、使用率。
- 獲取 JVM 狀態、占用資源情況。
- 獲取 操作系統信息、硬盤狀態信息。
- 獲取其它信息。
5、作業監控
基於 Quartz 框架實現,界面化在線配置,任務調度信息,界面化配置Cron表達式。
- 支持在線配置調用表達式,可直接調用 Spring Bean 或 靜態類 的方法,支持各種參數傳遞。
- 支持啟用、停用、運行一次等功能操作。
- 支持調度日志查詢,調度日志查詢等。
- 支持集群情況自動調整,保證每個 job 不重復調用。
- 支持分布式下對每個微服務模塊實例划分,保證各個微服務的 job 不沖突。
6、在線用戶
- 查詢活動用戶:3分鍾之內有訪問系統的用戶。
- 查詢所有在線:活動的用戶和會話未失效的用戶。
- 查詢游客用戶:訪問了系統登錄界面,但未進行登錄的會話。
- 支持顯示登錄的設備如:PC、手機。
- 支持強制踢出在線用戶會話等功能。
五、研發工具
1、代碼生成工具
- 提供快速的增刪、改、查、及個性化通用功能的代碼生成(包括后端和前端代碼)
- 還支持快速創建菜單和權限功能,如果不太考慮美觀問題,生成的代碼就可以直接工作了。
- 支持單表增刪改查、主子表增刪改查、樹表增刪改查、僅查詢、僅持久層、Cloud 微服務模塊生成
- 支持根據您的業務實現自定義生成模板,快速生成通用業務代碼。
- 支持多數據源,生成時選擇外部數據源的代碼生成。
- 該功能極大地簡化了你的基礎重復代碼編寫時間。
2、組件演示示例
- 幫助開發者快速找到組件調用的示例。
六、其它功能
1、消息推送
- 實現統一的消息推送接口,包含PC消息、短信消息、郵件消息、微信消息等
- 所有推送消息均通過
MsgPushUtils
工具類發送。 - 無需讓所有開發者了解消息是怎么發送出去的,只需了解消息發送接口即可。
- 實現消息模板功能,根據用自定義的模板格式並指定變量,即可生成消息內容,嚴格要求和管理消息數據。
- 包括菜單:未完成消息查詢、已完成消息查詢、消息模板管理
2、站內消息
- 站內信發送和接受,支持全部用戶、按用戶、按部門、按角色、按崗位
- 支持站內信消息提醒推送,包括:PC端、APP、郵件、短信、微信。
- 支持自定義消息類型:通知公告、新聞、會議、其它。
- 支持自定義消息等級:普通、一般、緊急。
- 支持用戶讀取狀態查看:已讀用戶列表、未讀用戶列表。
3、文件管理
- 分權限管理文件:通用文件櫃、部門文件櫃、個人文件櫃
- 支持文件在線預覽、文件移動等常用操作
- 支持文件分享、目錄分享給他人
4、業務流程
- JeeSite BPM 基於 Flowable(Activiti)生來具有的穩定工作流引擎
- 支持在線流程設計器,流程導入導出,符合 BPMN 規范,中國式工作流
- 支持流程辦理、退回、自由流、會簽、並行、串行、服務任務等
- 支持退回任務,退回到指定環節,退回到上一步,退回到發起人
- 支持轉辦任務,將任務交接給他人辦理,辦理完成后繼續下一步驟
- 支持委托任務,將任務委托給他人,他人辦理完成后再回到委托人
- 支持智能提交,相同處理人自動跳過,支持自由指定下一步處理人
- 支持作廢流程,允許發起人快速終止流程,管理員維護終止流程
- 支持自由流程,根據環節選擇,自由跳轉到指定環節,特事特辦
- 支持流程撤回,下一步未辦理的任務,可進行取回撤銷重做任務
- 支持流程跟蹤圖,流程狀態展現,流轉信息,任務歷史,任務分配信息
- 支持一個流程模型掛接多個業務單據,如某公司8種費用審批流程,表單不一樣,但流程相同
- 支持一個表單掛接多個流程環節,以表單角度去管理流程,方便業務理解
- 流程事件腳本在線編寫,包括:流程啟動、完成、取消;任務分配、創建、結束等
- 流程腳本管理(Groovy、Beetl),在線編輯、自動完成、腳本測試、多語言腳本模板維護
- 我的待辦任務處理,我的已辦任務、我創建的任務查詢、流程跟蹤、審批記錄查詢
- 流程管控,在無關聯表單情況下流程調試,如流程發起、掛起;流程定義、實例、任務等查詢;任務辦理等
- 支持流程組件標簽定義(流程按鈕、意見審批、下一步流程信息等)快速與自定義的業務表單建立關系。
- 版本化管理流程,新調整的流程業務不影響正在運行,未結束的流程繼續流轉。
5、內容管理
- 支持多站點建站,企業網站、門戶網站
- 包含功能:站點管理、欄目管理、模板管理、內容發布
- 前端演示:http://demo.jeesite.com/js/f/index-main.html
- 后端演示:http://demo.jeesite.com/js/a/index/js/a/cms/index內容發布
6、統計報表
- 可視化在線報表設計器
- 可視化在線數據大屏設計器
7、移動端管理
- APP 版本管理
- APP 意見反饋
8、更多功能
- 支持眾多的第三方賬號登錄
- OAuth2 認證服務器、第三方接入系統
- 支持文件在線預覽圖片、文檔、文本、視頻等格式
- 支持文件對象存儲 MinIO、阿里雲、騰訊雲、七牛雲等
- 支持分布式雲服務架構、多負載、高可用、微服務、跨進程分布式事務
- 支持讀寫分離、分庫分表、分布式數據庫解決方案
- 詳見開發專題:http://docs.jeesite.com