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