一、案例描述 若依官網文檔地址:http://doc.ruoyi.vip/ruoyi/document/hjbs.html 本教程主要內容,自定義資料庫表,使用若依開源系統生成代碼並配置許可權。 若依環境配置 新建數據表t_user,利用若依代碼生成工具生成服務端及頁面代碼。 菜單配置 許可權配置 二、 ...
一、案例描述
若依官網文檔地址:http://doc.ruoyi.vip/ruoyi/document/hjbs.html
本教程主要內容,自定義資料庫表,使用若依開源系統生成代碼並配置許可權。
- 若依環境配置
- 新建數據表t_user,利用若依代碼生成工具生成服務端及頁面代碼。
- 菜單配置
- 許可權配置
二、若依環境搭建
選用ry-vue版本,項目地址:https://gitee.com/y_project/RuoYi-Vue.git
-
本地新建資料庫ry-vue,使用項目中的ry_20230706.sql和quartz.sql初始化資料庫表及數據。
-
修改項目中application-druid.yml的資料庫連接串。
-
啟動SpringBoot服務端,管理後臺所在路徑是ruoyi-admin,預設埠是8080。
-
啟動前端項目,目錄是ruoyi-ui。命令行是
npm install
npm run dev
二、代碼生成
- 新建表
CREATE TABLE `t_user` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',
`name` varchar(30) NOT NULL DEFAULT '' COMMENT '姓名',
`age` int(11) NULL DEFAULT NULL COMMENT '年齡',
`gender` tinyint(2) NOT NULL DEFAULT 0 COMMENT '性別,0:女 1:男',
PRIMARY KEY (`id`)
) COMMENT = '用戶表';
-
在系統工具->代碼生成頁面,導入表t_user
-
編輯生成工具
-
生成壓縮包,解壓複製到相應的目錄。
三、若依後臺配置菜單
我們新定義兩級菜單“自定義>>外包用戶管理”。這個操作比較簡單,如下圖所示:
要註意的是路由地址和組件路徑,要與項目中的路徑一致。
重啟項目看效果:
四、許可權配置
我們新配置一個賬戶jingyes,專門用於管理外包用戶。
-
先新增角色 外包管理,菜單許可權對應我們剛剛新加的菜單。
-
添加用戶,角色設置為剛剛新增的 外包管理員
註意:用戶名稱是登錄賬號,用戶昵稱是個稱呼,我一開始就搞反了。
-
使用新的用戶賬號登錄,左側菜單展示正常,但是頁面中沒有操作按鈕。
-
為了正常使用操作按鈕,我們需要為每個操作配置對應的許可權菜單。首先看下TUserController中有哪些action需要配置許可權,然後在菜單管理中配置相應的按鈕。
@RestController
@RequestMapping("/jingyes/tuser")
public class TUserController extends BaseController
{
@Autowired
private ITUserService tUserService;
/**
* 查詢用戶列表
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:list')")
@GetMapping("/list")
public TableDataInfo list(TUser tUser)
{
startPage();
List<TUser> list = tUserService.selectTUserList(tUser);
return getDataTable(list);
}
/**
* 導出用戶列表
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:export')")
@Log(title = "用戶", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, TUser tUser)
{
List<TUser> list = tUserService.selectTUserList(tUser);
ExcelUtil<TUser> util = new ExcelUtil<TUser>(TUser.class);
util.exportExcel(response, list, "用戶數據");
}
/**
* 獲取用戶詳細信息
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(tUserService.selectTUserById(id));
}
/**
* 新增用戶
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:add')")
@Log(title = "用戶", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody TUser tUser)
{
return toAjax(tUserService.insertTUser(tUser));
}
/**
* 修改用戶
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:edit')")
@Log(title = "用戶", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody TUser tUser)
{
return toAjax(tUserService.updateTUser(tUser));
}
/**
* 刪除用戶
*/
@PreAuthorize("@ss.hasPermi('jingyes:tuser:remove')")
@Log(title = "用戶", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(tUserService.deleteTUserByIds(ids));
}
}
例如新增按鈕,許可權配置如下圖所示,許可權字元要和代碼中對應。其他都類似
添加完成後的效果如下,總共配置了這些操作按鈕的許可權。
-
最後記得給外包管理員的角色勾選上這些許可權
-
再次切換賬號登錄,頁面功能已經ok。
本人公眾號[ 敬YES ]同步更新,歡迎大家關註~
作者:陳敬(公眾號:敬YES)
出處:http://www.cnblogs.com/janes/
博客文章僅供交流學習,請勿用於商業用途。如需轉載,請務必註明出處。