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
wwwanlingxiao
mall
Commits
a25181b1
Commit
a25181b1
authored
Oct 08, 2020
by
macro
Browse files
获取访问地址方式修改
parent
d3a8fb5d
Changes
2
Hide whitespace changes
Inline
Side-by-side
mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java
View file @
a25181b1
...
...
@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import
com.github.pagehelper.PageHelper
;
import
com.macro.mall.bo.AdminUserDetails
;
import
com.macro.mall.common.exception.Asserts
;
import
com.macro.mall.common.util.RequestUtil
;
import
com.macro.mall.dao.UmsAdminRoleRelationDao
;
import
com.macro.mall.dto.UmsAdminParam
;
import
com.macro.mall.dto.UpdateAdminPasswordParam
;
...
...
@@ -128,7 +129,7 @@ public class UmsAdminServiceImpl implements UmsAdminService {
loginLog
.
setCreateTime
(
new
Date
());
ServletRequestAttributes
attributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
HttpServletRequest
request
=
attributes
.
getRequest
();
loginLog
.
setIp
(
r
equest
.
getRe
moteAddr
(
));
loginLog
.
setIp
(
R
equest
Util
.
getRe
questIp
(
request
));
loginLogMapper
.
insert
(
loginLog
);
}
...
...
mall-common/src/main/java/com/macro/mall/common/util/RequestUtil.java
0 → 100644
View file @
a25181b1
package
com.macro.mall.common.util
;
import
javax.servlet.http.HttpServletRequest
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
/**
* 请求工具类
* Created by macro on 2020/10/8.
*/
public
class
RequestUtil
{
/**
* 获取请求真实IP地址
*/
public
static
String
getRequestIp
(
HttpServletRequest
request
)
{
//通过HTTP代理服务器转发时添加
String
ipAddress
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
ipAddress
==
null
||
ipAddress
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ipAddress
))
{
ipAddress
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ipAddress
==
null
||
ipAddress
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ipAddress
))
{
ipAddress
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ipAddress
==
null
||
ipAddress
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ipAddress
))
{
ipAddress
=
request
.
getRemoteAddr
();
// 从本地访问时根据网卡取本机配置的IP
if
(
ipAddress
.
equals
(
"127.0.0.1"
)
||
ipAddress
.
equals
(
"0:0:0:0:0:0:0:1"
))
{
InetAddress
inetAddress
=
null
;
try
{
inetAddress
=
InetAddress
.
getLocalHost
();
}
catch
(
UnknownHostException
e
)
{
e
.
printStackTrace
();
}
ipAddress
=
inetAddress
.
getHostAddress
();
}
}
// 通过多个代理转发的情况,第一个IP为客户端真实IP,多个IP会按照','分割
if
(
ipAddress
!=
null
&&
ipAddress
.
length
()
>
15
)
{
if
(
ipAddress
.
indexOf
(
","
)
>
0
)
{
ipAddress
=
ipAddress
.
substring
(
0
,
ipAddress
.
indexOf
(
","
));
}
}
return
ipAddress
;
}
}
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