Commit ef3b220993e23665443e6286dbe74b1b53971ffb

Authored by 云中非
1 parent c1535a17

fix(DEFECT-405): 租户角色禁用后,菜单访问控制问题

@@ -41,8 +41,13 @@ @@ -41,8 +41,13 @@
41 SELECT 41 SELECT
42 <include refid="menuDTOMapColumn"> 42 <include refid="menuDTOMapColumn">
43 </include> 43 </include>
44 - FROM sys_menu  
45 - WHERE id IN (SELECT menu_id FROM sys_tenant_menu WHERE tenant_id = #{tenantId}) 44 + FROM sys_menu WHERE id IN (
  45 + SELECT menu_id FROM sys_role_menu WHERE role_id IN (
  46 + SELECT id FROM sys_role WHERE id in (
  47 + SELECT role_id FROM sys_tenant_role WHERE tenant_id = #{tenantId}
  48 + ) AND enabled=true
  49 + )
  50 + )
46 </select> 51 </select>
47 52
48 <select id="selectMyMenu" resultMap="menuDTOMap"> 53 <select id="selectMyMenu" resultMap="menuDTOMap">
@@ -50,10 +55,13 @@ @@ -50,10 +55,13 @@
50 <include refid="menuDTOMapColumn"> 55 <include refid="menuDTOMapColumn">
51 </include> 56 </include>
52 FROM sys_menu 57 FROM sys_menu
53 - WHERE id IN (SELECT menu_id  
54 - FROM sys_role_menu  
55 - WHERE role_id IN (SELECT id FROM sys_role WHERE id in (SELECT role_id FROM sys_user_role WHERE user_id  
56 - = #{userId}) AND enabled=true)) 58 + WHERE id IN (
  59 + SELECT menu_id FROM sys_role_menu WHERE role_id IN (
  60 + SELECT id FROM sys_role WHERE id in (
  61 + SELECT role_id FROM sys_user_role WHERE user_id = #{userId}
  62 + ) AND enabled=true
  63 + )
  64 + )
57 </select> 65 </select>
58 66
59 <delete id="deleteTenantMenuMappingByMenuIds"> 67 <delete id="deleteTenantMenuMappingByMenuIds">