若依(RuoYi)權(quán)限管理系統(tǒng)入門-搭建(若伊權(quán)限管理系統(tǒng))
最近單位在搭建統(tǒng)一權(quán)限管理的系統(tǒng),在網(wǎng)上看到了若依的開源系統(tǒng),若依管理系統(tǒng)基于Spring boot搭建的權(quán)限管理系統(tǒng).
一、基本介紹
1.1 架構(gòu)圖
RuoYi架構(gòu)圖
1.2 內(nèi)置功能
用戶管理:用戶是系統(tǒng)操作者,該功能主要完成系統(tǒng)用戶配置。
部門管理:配置系統(tǒng)組織機構(gòu)(公司、部門、小組),樹結(jié)構(gòu)展現(xiàn)支持數(shù)據(jù)權(quán)限。
崗位管理:配置系統(tǒng)用戶所屬擔(dān)任職務(wù)。
菜單管理:配置系統(tǒng)菜單,操作權(quán)限,按鈕權(quán)限標識等。
角色管理:角色菜單權(quán)限分配、設(shè)置角色按機構(gòu)進行數(shù)據(jù)范圍權(quán)限劃分。
字典管理:對系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進行維護。
參數(shù)管理:對系統(tǒng)動態(tài)配置常用參數(shù)。
通知公告:系統(tǒng)通知公告信息發(fā)布維護。
操作日志:系統(tǒng)正常操作日志記錄和查詢;
系統(tǒng)異常信息日志記錄和查詢。
登錄日志:系統(tǒng)登錄日志記錄查詢包含登錄異常。
在線用戶:當(dāng)前系統(tǒng)中活躍用戶狀態(tài)監(jiān)控。
定時任務(wù):在線(添加、修改、刪除)任務(wù)調(diào)度包含執(zhí)行結(jié)果日志。
代碼生成:前后端代碼的生成(java、html、xml、sql)支持CRUD下載 。
系統(tǒng)接口:根據(jù)業(yè)務(wù)代碼自動生成相關(guān)的api接口文檔。
服務(wù)監(jiān)控:監(jiān)視當(dāng)前系統(tǒng)CPU、內(nèi)存、磁盤、堆棧等相關(guān)信息。
在線構(gòu)建器:拖動表單元素生成相應(yīng)的HTML代碼。
連接池監(jiān)視:監(jiān)視當(dāng)前系統(tǒng)數(shù)據(jù)庫連接池狀態(tài),可進行分析SQL找出系統(tǒng)性能瓶頸。
二、環(huán)境準備
2.1 nacos
在nacos的官網(wǎng)下載,解壓完成后,以供后期使用。
2.2 mysql
在官方文檔中,mysql版本最好為5.7 ,mysql5.6以下存在datetime(0)無法導(dǎo)入的問題,可能需要自行替換(0)->''
mysql的安裝過程在這里,就不在額外贅述,大家可以查詢網(wǎng)上資料直接安裝mysql數(shù)據(jù)庫。
2.3 redis
由于,現(xiàn)在redis不在支持windows操作系統(tǒng),將redis安裝在linux的虛擬機上,方便直接操作。
redis的安裝過程在這里,就不在額外贅述,大家可以查詢網(wǎng)上資料直接安裝redis數(shù)據(jù)庫。
推薦:在這里給大家推薦一款redis 圖形頁面工具-RedisDesktopManager,大家可以偷懶不用敲命令,就能方便查看redis數(shù)據(jù)
2.4 yarn
在yarn官網(wǎng)下載[1]yarn安裝包,直接雙擊運行即可
在安裝yarn之后,執(zhí)行yarn命令,會出現(xiàn)下面的問題:
- yarn : 無法將“yarn”項識別為 cmdlet、函數(shù)、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然后再試一次。
無法將“yarn”項識別為 cmdlet、函數(shù)、腳本文件或可運行程序的名稱
感謝網(wǎng)友的的解決方法[2]:
以管理員身份打開PowerShell,執(zhí)行以下命令 set-ExecutionPolicy RemoteSigned
并設(shè)置淘寶鏡像
yarn config set registry https://registry.npm.taobao.org/
2.5 host文件修改
需要在C:WindowsSystem32driversetc目錄下的hosts文件中增加一下內(nèi)容:
127.0.0.1 eureka7001.com127.0.0.1 gateway.com
推薦: 在這里給大家推薦一個款軟件SwitchHosts!,是一款非常方便切換host的開源軟件
三、部署后端微服務(wù)
3.1 獲取代碼
若依后端代碼采用采用Spring Boot、Spring Cloud & Alibaba,注冊中心、配置中心選型Nacos,權(quán)限認證使用OAuth2,流量控制框架選型Sentinel。
git clone -b nacos https://gitee.com/zhangmrit/ruoyi-cloud.git
3.2 修改相關(guān)配置文件
3.2.1 導(dǎo)入nacos文件,并啟動nacos
- 創(chuàng)建nacos數(shù)據(jù)庫
- 導(dǎo)入nacos數(shù)據(jù)腳本 執(zhí)行sqlnacos.sql文件,將相關(guān)配置文件導(dǎo)入nacos數(shù)據(jù)庫
- 修改nacos配置文件 修改nacos的配置文件%nacos_home%confapplication.properties,使其單機模式支持mysql,只需要將該文件中
- 啟動nacos ,以單機的方式啟動nacos。
startup.cmd -m standalone
3.2.2 創(chuàng)建ry_cloud數(shù)據(jù)庫
創(chuàng)建ry_cloud數(shù)據(jù)庫,執(zhí)行sqlry_cloud_0115.sql(其中,具體文件版本日期,以最新代碼為準),將相關(guān)數(shù)據(jù)導(dǎo)入到ry_cloud庫中
3.2.3 創(chuàng)建activiti數(shù)據(jù)庫
- 創(chuàng)建activiti數(shù)據(jù)庫 執(zhí)行sqlactiviti.sql,該數(shù)據(jù)庫為ruoyi-activiti服務(wù)所需要的數(shù)據(jù)庫
- 修改ruoyi-activiti中resourcesbootstrap.yml文件中數(shù)據(jù)庫鏈接內(nèi)容
3.3 修改數(shù)據(jù)庫和redis配置文件
在nacos管理系統(tǒng),點擊配置管理 -> 配置列表功能,選擇需要修改的配置參數(shù),點擊編輯,根據(jù)自己的配置參數(shù),修改相應(yīng)的參數(shù)。 以dev環(huán)境為例,需要修改redis配置參數(shù)的文件為:
ruoyi-auth-dev.ymlruoyi-gateway-dev.ymlruoyi-system-dev.yml
redis修改內(nèi)容
需要修改mysql數(shù)據(jù)庫配置參數(shù)的文件為:
ruoyi-system-dev.ymlruoyi-gen-dev.yml
mysql參數(shù)修改內(nèi)容
RuoYI在參數(shù)中配置了主從訪問機制,其中從庫數(shù)據(jù)庫默認關(guān)閉,在本地啟動時,未修改從庫數(shù)據(jù)源的相關(guān)信息
3.4 使用idea打開相關(guān)程序
點擊 File -> Open 選擇下載代碼文件中的pom.xml
加載項目之后,項目需要下載相關(guān)的依賴,就是漫長的等待,這個等待的時間會根據(jù)你是否有緩存、你的網(wǎng)絡(luò)、你的電腦,可能還有你的人品來決定。
3.5 啟動后端微服務(wù)
經(jīng)過漫長的等待,接下來就是激動人心的時刻,后端應(yīng)用的最后一步,啟動后端微服務(wù)。后臺微服務(wù)對應(yīng)用的啟動順序沒有要求,啟動每一個應(yīng)用即可,需要啟動應(yīng)用為:
gatewayauthsystemactgen 代碼生成 可選dfs 文件上傳 可選
程序啟動完成后,idea中service中看到已經(jīng)啟動的微服務(wù)
可以在nacos的管理系統(tǒng)中看到相關(guān)服務(wù)
四、部署前端
4.1 獲取代碼
若依前端的代碼使用ant design vue框架,從ant Design vue pro項目fork后,增加相關(guān)代碼,完成若依前端程序。
git clone https://gitee.com/zhangmrit/ruoyi-ant.git
4.2 修改配置文件
在前端的程序中,需要查看vue.confog.js中網(wǎng)關(guān)的配置是否正確,需要修改下圖中target的內(nèi)容與后端網(wǎng)關(guān)的請求IP和端口保持一致。
在最新更新的代碼中,后端的網(wǎng)關(guān)接口為9527,與文檔中的寫道的8080不一樣,而且,最新的代碼中相關(guān)參數(shù)已經(jīng)與后端的配置保持一致,此步可以省略,此處為方便后續(xù)修改網(wǎng)關(guān)參數(shù),對應(yīng)修改前端訪問參數(shù),特別說明。
4.3 啟動程序
從gitee更新的代碼后,只需簡單的執(zhí)行幾個命令就可以完成即可啟動。
- 進入ruoyi-ant目錄
# 進入ruoyi-ant目錄cd ruoyi-ant
- 安裝相關(guān)依賴
# 安裝相關(guān)依賴yarn install
- 開發(fā)模式啟動
#開發(fā)模式啟動yarn run serve
- 啟動成功 在這里沒有使用cmd命令窗口啟動,使用了PowerShell進行啟動,大家可以根據(jù)自己的習(xí)慣選擇具體的命令窗口,效果都是一樣的。
在命令窗口中顯示App running at http://localhost:8000/,在瀏覽器中輸入 http://localhost:8000/,如果能夠正常顯示,則前端啟動成功。
注:點擊確定按鈕,可以正常顯示相應(yīng)的圖片驗證碼,如下圖所示,如果驗證碼顯示異?;蛘卟伙@示,則需要檢查host文件配置是否生效
#五、基本演示
- 登錄頁面
- 主頁面
- 用戶管理
- 角色管理
- 菜單管理
六、總結(jié)
首先非常感謝開源作者為我們提供RuoYi這款產(chǎn)品,我們可以不用使用太多的時間完成企業(yè)內(nèi)部的權(quán)限管理系統(tǒng)的搭建,RuoYi使用多種架構(gòu)(單體應(yīng)用、前后端分里的分布式架構(gòu))可供我們選擇。
然后,使用nacos作為注冊中心和配置中心,在環(huán)境搭建上浪費了一些時間,但是,也學(xué)到了很多知識,網(wǎng)絡(luò)上各種大神的問題解答,讓問題能夠更加迅速的解決;
最后,本文章羅列了一些在環(huán)境準備時,遇到的一些問題,可能沒有全部羅列,大家可以到RuoYi-Cloud/issues[3]或著RuiYi常見問題[4]中,尋找解決辦法。
參考資料
[1] yarn官網(wǎng)下載: https://classic.yarnpkg.com/zh-Hans/docs/install#windows-stable
[2] 解決方法: https://blog.csdn.net/weixin_38883338/article/details/100054550
[3] RuoYi-Cloud/issues: https://gitee.com/y_project/RuoYi-Cloud/issues
[4] RuiYi常見問題: http://doc.rycloud.zmrit.com/#/Q&A
[5] RuoYi快速啟動: http://doc.rycloud.zmrit.com/#/quick-start?id=環(huán)境準備
[6] windows下Yarn安裝與使用: https://blog.csdn.net/w345731923/article/details/82878525
[7] 【報錯】yarn : 無法將“yarn”項識別為 cmdlet、函數(shù)、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然后再試一次。 yarn install: https://blog.csdn.net/weixin_42050406/article/details/106120618
[8] npm安裝教程: https://www.cnblogs.com/lgx5/p/10732016.html
[9] Nacos支持三種部署模式: https://nacos.io/zh-cn/docs/deployment.html
[10] 若依/RuoYi-Cloud: https://gitee.com/y_project/RuoYi-Cloud
[11] wind/ruoyi-ant: https://gitee.com/zhangmrit/ruoyi-ant
[12] nacos初體驗-踩坑與填坑篇: https://www.jianshu.com/p/2425c96b470a