Skip to content

Commit

Permalink
当页面默认路由不在权限范围内时可以正常登录跳转404
Browse files Browse the repository at this point in the history
  • Loading branch information
piexlmax committed Feb 13, 2022
1 parent 08d30e7 commit 2ab0007
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 3 deletions.
15 changes: 15 additions & 0 deletions server/service/system/sys_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,13 @@ func (userService *UserService) Login(u *system.SysUser) (err error, userInter *
var user system.SysUser
u.Password = utils.MD5V([]byte(u.Password))
err = global.GVA_DB.Where("username = ? AND password = ?", u.Username, u.Password).Preload("Authorities").Preload("Authority").First(&user).Error
if err == nil{
var am system.SysMenu
ferr := global.GVA_DB.First(&am,"name = ? AND authority_id = ?",user.Authority.DefaultRouter,user.AuthorityId).Error
if errors.Is(ferr,gorm.ErrRecordNotFound) {
user.Authority.DefaultRouter = "404"
}
}
return err, &user
}

Expand Down Expand Up @@ -163,6 +170,14 @@ func (userService *UserService) SetUserInfo(reqUser system.SysUser) (err error,
func (userService *UserService) GetUserInfo(uuid uuid.UUID) (err error, user system.SysUser) {
var reqUser system.SysUser
err = global.GVA_DB.Preload("Authorities").Preload("Authority").First(&reqUser, "uuid = ?", uuid).Error
if err!=nil{
return err, reqUser
}
var am system.SysMenu
ferr := global.GVA_DB.First(&am,"name = ? AND authority_id = ?",reqUser.Authority.DefaultRouter,reqUser.AuthorityId).Error
if errors.Is(ferr,gorm.ErrRecordNotFound) {
reqUser.Authority.DefaultRouter = "404"
}
return err, reqUser
}

Expand Down
2 changes: 1 addition & 1 deletion web/src/pinia/modules/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const KeepAliveFilter = (routes) => {
routes && routes.forEach(item => {
// 子菜单中有 keep-alive 的,父菜单也必须 keep-alive,否则无效。这里将子菜单中有 keep-alive 的父菜单也加入。
if ((item.children && item.children.some(ch => ch.meta.keepAlive) || item.meta.keepAlive)) {
item.component().then(val => { keepAliveRoutersArr.push(val.default.name) })
item.component && item.component().then(val => { keepAliveRoutersArr.push(val.default.name) })
}
if (item.children && item.children.length > 0) {
KeepAliveFilter(item.children)
Expand Down
4 changes: 2 additions & 2 deletions web/src/view/error/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<div class="big">
<div class="inner">
<img src="../../assets/notFound.png">
<p>页面被神秘力量吸走了,请联系我们修复</p>
<p style="font-size:18px;line-height:40px;">常见问题为菜单未分配仪表盘,可自行分配仪表盘或修改默认路由</p>
<p>页面被神秘力量吸走了(如果您是开源版请联系我们修复)</p>
<p style="font-size:18px;line-height:40px;">常见问题为当前此角色无当前路由,如果确定要使用本路由,请到角色管理进行分配</p>
<p>↓</p>
<img src="../../assets/qm.png" class="leftPic">
</div>
Expand Down

0 comments on commit 2ab0007

Please sign in to comment.