# 多角色 **Repository Path**: winfredwu/multi-role ## Basic Information - **Project Name**: 多角色 - **Description**: No description available - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 11 - **Created**: 2021-01-14 - **Last Updated**: 2021-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 多角色 #### 数据库修改: #### 1、将用户表sys_user的Role_Id ,RoleName #### sqlserver在数据库直接执行下面脚本(mysql pgsql自己手动在数据库修改) #### ALTER TABLE dbo.Sys_User ALTER COLUMN Role_Id INT #### ALTER TABLE dbo.Sys_User ALTER COLUMN RoleName NVARCHAR(50) #### 2、代码生成器页面,选中用户信息,点击同步表结构-》生成页面-》生成model #### 3、创建用户角色表 Sys_UserRole(sqlserver数据库直接执行此脚本,mysql pgsql自己修改下面的创建表的脚本) #### CREATE TABLE Sys_UserRole #### ( #### Id INT IDENTITY PRIMARY KEY, #### UserId INT NOT NULL, #### RoleId INT NOT NULL , #### [Enable] INT NOT NULL, #### [CreateID] [int] NULL, #### [Creator] [nvarchar](255) NULL, #### [CreateDate] [datetime] NULL, #### [ModifyID] [int] NULL, #### [Modifier] [nvarchar](255) NULL, #### [ModifyDate] [datetime] NULL, #### ) #### 4、将用户角色表 Sys_UserRole在代码生成器中生成代码(与用户表一样,项目类库选择System) #### 后台代码修改(都修改对应Partial文件夹下的类即可) #### 升级方式(如果下面的类没有修改过,直接覆盖即可,如果有修改过,请对比下面的文件差异) #### 1、ActionPermissionFilter.cs #### 2、DictionaryHandler.cs #### 3、RoleContext.cs #### 4、Sys_MenuService.cs ISys_MenuService .cs Sys_MenuController.cs #### 5、Sys_UserService.cs ISys_UserService .cs Sys_UserController.cs #### 6、Sys_RoleService.cs ISys_RoleService .cs Sys_RoleController.cs #### 7、Logger.cs #### 8、JwtHelper.cs #### 9、UserInfo.cs #### 10、UserContext.cs #### 11、如果给用户添加或者删除了角色 ,用户需要退出重新登陆才能看到最新的权限 #### 前端代码修改 #### 升级方式(如果下面的类没有修改过,直接覆盖即可,如果有修改过,请对比下面的文件差异) #### Sys_UserGridHeader.vue #### Sys_User.js #### 其他注意事项 #### 1、在用户管理页面,直接点右边操作->设置角色(用户需要重新登陆才能看到最新的角色权限,内置缓存了用户权限信息) #### 2、如果使用的不是开发版,请将Partial文件夹下的SellOrderService.cs也覆盖下