7e8eb5b68fd6c7bc585b217d627cdf998633c86d
\344\272\247\345\223\201\347\272\277\344\270\216\350\217\234\345\215\225\344\270\242\345\244\261\351\227\256\351\242\230.md
... | ... | @@ -23,10 +23,18 @@ |
23 | 23 | 3.检查对应app的权限点是否生成; |
24 | 24 | 4.然后重新授权或先取消授权再点击重新授权; |
25 | 25 | |
26 | -### 五 特殊情况下产品丢失场景 |
|
26 | +## 五 rbac_user_prefer表, CURROLELIST被错误的设置为null,导致角色丢失, 也会导致菜单丢失. |
|
27 | +**问题描述** |
|
28 | +租户管理员角色账户密码过期了,用户尝试去解锁账户,解锁完账户后,重新登录之后,发现页面一个菜单都不显示. |
|
27 | 29 | |
28 | -#### 5.1 rbac_user_prefer 表, CURROLELIST设置为null 也会导致菜单丢失 |
|
29 | -1. 由于rbac_user_prefer表 sign_content 设置为null,这个错误导致下次登记就不会更新sg和 role,后续登录还是报错。但新建一个用户由于设置成正确的,所以新用户可以登录。 |
|
30 | +**根本原因** |
|
31 | +Debug 发现,loadMenu接口调用时,meta.getRoleList()为NULL,定位到用户的角色没有正确设置.因为角色是从session获取的, 然后查看rbac_user_prefer表,发现当前角色的CURROLELIST为空,导致用户的角色丢失.所以查询不到菜单. |
|
32 | + |
|
33 | +rbac_user_prefer 表, CURROLELIST被错误的设置为null 也会导致菜单丢失. |
|
34 | + |
|
35 | +**解决方式** |
|
36 | +1. 由于rbac_user_prefer表 sign_content 设置为null,这个错误导致下次登记就不会更新sg和 role,后续登录还是报错。但新建一个用户由于设置成正确的,所以新用户可以登录和显示菜单。 |
|
37 | +2. 先查询到该用户的角色列表,修改rbac_user_prefer表中的CURROLELIST设置为["roleId1","roleId2"],重新登录,菜单正确显示. |
|
30 | 38 | |
31 | 39 | |
32 | 40 |