Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
c1db17dd
Commit
c1db17dd
authored
May 26, 2020
by
RuoYi
Browse files
限制外链地址必须以http(s)://开头
parent
30be2a08
Changes
4
Hide whitespace changes
Inline
Side-by-side
ruoyi/src/main/java/com/ruoyi/common/constant/Constants.java
View file @
c1db17dd
...
...
@@ -19,6 +19,16 @@ public class Constants
*/
public
static
final
String
GBK
=
"GBK"
;
/**
* http请求
*/
public
static
final
String
HTTP
=
"http://"
;
/**
* https请求
*/
public
static
final
String
HTTPS
=
"https://"
;
/**
* 通用成功标识
*/
...
...
ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java
View file @
c1db17dd
...
...
@@ -26,7 +26,7 @@ public class UserConstants
/** 部门正常状态 */
public
static
final
String
DEPT_NORMAL
=
"0"
;
/** 部门停用状态 */
public
static
final
String
DEPT_DISABLE
=
"1"
;
...
...
@@ -36,6 +36,12 @@ public class UserConstants
/** 是否为系统默认(是) */
public
static
final
String
YES
=
"Y"
;
/** 是否菜单外链(是) */
public
static
final
String
YES_FRAME
=
"0"
;
/** 是否菜单外链(否) */
public
static
final
String
NO_FRAME
=
"1"
;
/** 校验返回结果码 */
public
final
static
String
UNIQUE
=
"0"
;
public
final
static
String
NOT_UNIQUE
=
"1"
;
...
...
ruoyi/src/main/java/com/ruoyi/project/system/controller/SysMenuController.java
View file @
c1db17dd
...
...
@@ -12,9 +12,11 @@ import org.springframework.web.bind.annotation.PutMapping;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.ruoyi.common.constant.Constants
;
import
com.ruoyi.common.constant.UserConstants
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.common.utils.ServletUtils
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.framework.aspectj.lang.annotation.Log
;
import
com.ruoyi.framework.aspectj.lang.enums.BusinessType
;
import
com.ruoyi.framework.security.LoginUser
;
...
...
@@ -100,6 +102,11 @@ public class SysMenuController extends BaseController
{
return
AjaxResult
.
error
(
"新增菜单'"
+
menu
.
getMenuName
()
+
"'失败,菜单名称已存在"
);
}
else
if
(
UserConstants
.
YES_FRAME
.
equals
(
menu
.
getIsFrame
())
&&
!
StringUtils
.
startsWithAny
(
menu
.
getPath
(),
Constants
.
HTTP
,
Constants
.
HTTPS
))
{
return
AjaxResult
.
error
(
"新增菜单'"
+
menu
.
getMenuName
()
+
"'失败,地址必须以http(s)://开头"
);
}
menu
.
setCreateBy
(
SecurityUtils
.
getUsername
());
return
toAjax
(
menuService
.
insertMenu
(
menu
));
}
...
...
@@ -116,6 +123,11 @@ public class SysMenuController extends BaseController
{
return
AjaxResult
.
error
(
"修改菜单'"
+
menu
.
getMenuName
()
+
"'失败,菜单名称已存在"
);
}
else
if
(
UserConstants
.
YES_FRAME
.
equals
(
menu
.
getIsFrame
())
&&
!
StringUtils
.
startsWithAny
(
menu
.
getPath
(),
Constants
.
HTTP
,
Constants
.
HTTPS
))
{
return
AjaxResult
.
error
(
"新增菜单'"
+
menu
.
getMenuName
()
+
"'失败,地址必须以http(s)://开头"
);
}
menu
.
setUpdateBy
(
SecurityUtils
.
getUsername
());
return
toAjax
(
menuService
.
updateMenu
(
menu
));
}
...
...
ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
View file @
c1db17dd
...
...
@@ -298,7 +298,7 @@ public class SysMenuServiceImpl implements ISysMenuService
{
String
routerPath
=
menu
.
getPath
();
// 非外链并且是一级目录
if
(
0
==
menu
.
getParentId
()
&&
"1"
.
equals
(
menu
.
getIsFrame
()))
if
(
0
==
menu
.
getParentId
()
&&
UserConstants
.
NO_FRAME
.
equals
(
menu
.
getIsFrame
()))
{
routerPath
=
"/"
+
menu
.
getPath
();
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment