Commit 9283b537 authored by nie'hong's avatar nie'hong

限制非平台管理员和统计管理员账号登录

parent 06b90c04
......@@ -2,6 +2,7 @@ package cn.chnmuseum.party.common.util;
import net.sf.json.JSONObject;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
......@@ -10,6 +11,26 @@ import java.util.HashMap;
import java.util.Map;
public class AddressUtil {
public static String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
/**
* @param content 请求的参数 格式为:name=xxx&pwd=xxx
......
......@@ -186,12 +186,12 @@ public class LoginController extends BaseController {
List<Role> roles = roleService.selectRoleByUserId(user.getId());
// 用户需要拥有“统计管理员”或“平台管理员”角色才能登录
List<String> roleAliasList = roles.stream().map(Role::getAlias).collect(Collectors.toList());
if (!roleAliasList.contains(ROLE_TJGLY) && !roleAliasList.contains(ROLE_XTGLY)) {
resultMap.put("resultCode", "400");
resultMap.put("message", "您登录的账号既不是平台用户账号也不是统计用户账号,不能查看大屏");
return resultMap;
}
// List<String> roleAliasList = roles.stream().map(Role::getAlias).collect(Collectors.toList());
// if (!roleAliasList.contains(ROLE_TJGLY) && !roleAliasList.contains(ROLE_XTGLY)) {
// resultMap.put("resultCode", "400");
// resultMap.put("message", "您登录的账号既不是平台用户账号也不是统计用户账号,不能查看大屏");
// return resultMap;
// }
List<String> list1 = new ArrayList<>();
//获取当前用户角色拥有菜单
......
......@@ -66,9 +66,10 @@ public class StatisticController extends BaseController {
return ResponseEntity.ok(new StatisticData());
}
@GetMapping("/recordVisitor")
@ApiOperation(value = "记录视频访问者的城市", notes = "记录视频访问者的城市")
public Map recordVisitor(String videoId, String ip){
public Map recordVisitor(String videoId, HttpServletRequest request){
Map<String, String> resultMap = new HashMap<>();
try {
TVideoVisitor tVideoVisitor = new TVideoVisitor();
......@@ -78,11 +79,12 @@ public class StatisticController extends BaseController {
}else {
tVideoVisitor.setVideoId(StringUtils.trimToNull(videoId));
}
if (StringUtils.isBlank(ip)) {
String ipAddress = AddressUtil.getIpAddress(request);
if (StringUtils.isBlank(ipAddress)) {
resultMap.put("resultCoed", "400");
resultMap.put("message", "ip地址不能为空");
resultMap.put("message", "获取数据异常");
}else{
Map<String, String> addressByIp = AddressUtil.getAddressByIp(ip);
Map<String, String> addressByIp = AddressUtil.getAddressByIp(ipAddress);
tVideoVisitor.setArea(StringUtils.trimToNull(addressByIp.get("city")));
}
// 该条信息的创建时间和更新时间
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment