add 用户中心 鉴权

camera_merge
王一鸣 6 years ago
parent 09e74b3069
commit d39a00f4f0

@ -36,12 +36,19 @@ public class HttpUtil {
* *
* @return * @return
*/ */
public static String doGet(String url) { public static String doGet(String url) throws IOException {
HttpGet httpGet = new HttpGet(url); HttpGet httpGet = new HttpGet(url);
httpGet.setConfig(requestConfig); httpGet.setConfig(requestConfig);
return response(httpGet); return response(httpGet);
} }
public static String token(String url,String token) throws IOException {
HttpGet httpGet = new HttpGet(url);
httpGet.setHeader("token",token);
httpGet.setConfig(requestConfig);
return response(httpGet);
}
/** /**
* post( name1=value1&name2=value2 ) * post( name1=value1&name2=value2 )
* *
@ -49,7 +56,7 @@ public class HttpUtil {
* @param params * @param params
* @return * @return
*/ */
public static String doPost(String url, String params) { public static String doPost(String url, String params) throws IOException {
HttpPost httpPost = new HttpPost(url); HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Accept", "*/*"); httpPost.setHeader("Accept", "*/*");
httpPost.setHeader("Accept-Charset", "UTF-8"); httpPost.setHeader("Accept-Charset", "UTF-8");
@ -67,7 +74,7 @@ public class HttpUtil {
* @param map * @param map
* @return * @return
*/ */
public static String doMapPost(String url, Map<String, Object> map) { public static String doMapPost(String url, Map<String, Object> map) throws IOException {
String params = buildParam(map); String params = buildParam(map);
return doPost(url, params); return doPost(url, params);
} }
@ -79,7 +86,7 @@ public class HttpUtil {
* @param params * @param params
* @return * @return
*/ */
public static String doJsonPost(String url, String params) { public static String doJsonPost(String url, String params) throws IOException {
HttpPost httpPost = new HttpPost(url); HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Accept", "application/json"); httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-Type", "application/json"); httpPost.setHeader("Content-Type", "application/json");
@ -89,23 +96,17 @@ public class HttpUtil {
return response(httpPost); return response(httpPost);
} }
private static String response(HttpUriRequest request) { private static String response(HttpUriRequest request) throws IOException {
CloseableHttpResponse response = null; CloseableHttpResponse response = null;
try { try {
response = httpClient.execute(request); response = httpClient.execute(request);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity responseEntity = response.getEntity();
HttpEntity responseEntity = response.getEntity(); if (responseEntity != null) {
if (responseEntity != null) { String jsonString = EntityUtils.toString(responseEntity, "UTF-8");
String jsonString = EntityUtils.toString(responseEntity, "UTF-8"); /** 消耗掉entity对象 **/
/** 消耗掉entity对象 **/ EntityUtils.consume(responseEntity);
EntityUtils.consume(responseEntity); return jsonString;
return jsonString;
}
} else {
log.error("发起http请求异常url:{}", request.getURI());
} }
} catch (Exception e) {
log.error("请求异常:{}" + e);
} finally { } finally {
if (response != null) { if (response != null) {
try { try {

@ -1,6 +1,9 @@
package com.zhehekeji.filter.aspect; package com.zhehekeji.filter.aspect;
import com.alibaba.fastjson.JSONObject;
import com.zhehekeji.common.util.HttpUtil;
import com.zhehekeji.core.pojo.HttpStatus; import com.zhehekeji.core.pojo.HttpStatus;
import com.zhehekeji.core.pojo.Result;
import com.zhehekeji.core.util.Assert; import com.zhehekeji.core.util.Assert;
import com.zhehekeji.filter.FilterConstance; import com.zhehekeji.filter.FilterConstance;
import com.zhehekeji.filter.pojo.CurrentUser; import com.zhehekeji.filter.pojo.CurrentUser;
@ -18,6 +21,7 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/** /**
* @Description Session * @Description Session
@ -31,6 +35,8 @@ public class SessionAspect {
@Value("${zhehe.filter.enable}") @Value("${zhehe.filter.enable}")
private Boolean enable; private Boolean enable;
@Value("${userUrl}")
private String userUrl;
/** /**
* zhehekeji..*.controller * zhehekeji..*.controller
@ -39,23 +45,23 @@ public class SessionAspect {
* @param sessionHandler * @param sessionHandler
*/ */
@Before("execution(public * com.zhehekeji..*.controller.*.*(..))&&@annotation(sessionHandler)") @Before("execution(public * com.zhehekeji..*.controller.*.*(..))&&@annotation(sessionHandler)")
public void handler(SessionHandler sessionHandler) { public void handler(SessionHandler sessionHandler){
if(!enable){ if(!enable){
return; return;
} }
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
CurrentUser currentUser = null;
String token = request.getHeader(FilterConstance.HEADER); String token = request.getHeader(FilterConstance.HEADER);
if (UserType.ACCOUNT.equals(sessionHandler.userType())) { CurrentUser currentUser = null;
log.info("token:" + token); try {
if (!StringUtils.isEmpty(token)) { String res = HttpUtil.token(userUrl+"/api/account/checkToken",token);
currentUser = JwtUtil.getUser(request); Result currentUserResult = JSONObject.parseObject(res,Result.class);
if (currentUser != null) { if(currentUserResult != null && currentUserResult.getCode() == 200){
currentUser = JSONObject.parseObject(JSONObject.toJSONString(currentUserResult.getData()),CurrentUser.class);
}
} }
} else if (UserType.USER.equals(sessionHandler.userType())) { } catch (IOException e) {
e.printStackTrace();
} }
if (sessionHandler.login()) { if (sessionHandler.login()) {
Assert.isTrue(currentUser != null, HttpStatus.UNAUTHORIZED.getCode(), HttpStatus.UNAUTHORIZED.getReasonPhrase()); Assert.isTrue(currentUser != null, HttpStatus.UNAUTHORIZED.getCode(), HttpStatus.UNAUTHORIZED.getReasonPhrase());
} }

@ -0,0 +1,40 @@
package com.zhehekeji.web.controller;
import com.alibaba.fastjson.JSONObject;
import com.zhehekeji.common.util.HttpUtil;
import com.zhehekeji.core.pojo.Result;
import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.pojo.IndexVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
@Api(value = "AppCenterController", tags = "用户中心")
@RequestMapping(value = "/app")
@RestController(value = "AppCenterController")
@Slf4j
public class AppCenterController {
@Value("${userUrl}")
private String userUrl;
@GetMapping("/userCenter")
@ApiOperation(value = "用户中心")
public Result<IndexVO> userCenter() {
Result result = null;
try {
String res = HttpUtil.doGet(userUrl+"/api/app/userCenter");
result = JSONObject.parseObject(res,Result.class);
} catch (IOException e) {
log.error("请求用户中心地址失败:{}",e);
Assert.isTrue(false,"请求用户中心地址失败");
}
return result;
}
}

@ -33,7 +33,6 @@ public class OrderController {
@ApiOperation("新增") @ApiOperation("新增")
@PostMapping("/") @PostMapping("/")
//@SessionHandler(userType = UserType.ACCOUNT)
public Result<Long> save(@RequestBody OrderSaveReq saveReq){ public Result<Long> save(@RequestBody OrderSaveReq saveReq){
validatorUtil.validate(saveReq); validatorUtil.validate(saveReq);
Assert.isTrue(postToken.equals(saveReq.getToken()),"token不正确"); Assert.isTrue(postToken.equals(saveReq.getToken()),"token不正确");
@ -42,12 +41,21 @@ public class OrderController {
@PostMapping("/list") @PostMapping("/list")
@ApiOperation(value = "查询") @ApiOperation(value = "查询")
//@SessionHandler(userType = UserType.ACCOUNT) @SessionHandler
public Result<List<Order>> findRoleList(@RequestBody OrderSearch orderSearch) { public Result<List<Order>> findRoleList(@RequestBody OrderSearch orderSearch) {
validatorUtil.validate(orderSearch); validatorUtil.validate(orderSearch);
return new Result<>(orderService.orders(orderSearch)); return new Result<>(orderService.orders(orderSearch));
} }
@GetMapping("/media")
//@ApiOperation(value = "视频测试")
//@SessionHandler(userType = UserType.ACCOUNT)
public void media() {
}

@ -1,6 +1,7 @@
package com.zhehekeji.web.controller; package com.zhehekeji.web.controller;
import com.zhehekeji.core.pojo.Result; import com.zhehekeji.core.pojo.Result;
import com.zhehekeji.filter.pojo.SessionHandler;
import com.zhehekeji.web.entity.Order; import com.zhehekeji.web.entity.Order;
import com.zhehekeji.web.entity.Street; import com.zhehekeji.web.entity.Street;
import com.zhehekeji.web.mapper.StreetMapper; import com.zhehekeji.web.mapper.StreetMapper;
@ -26,8 +27,8 @@ public class StreetController {
private StreetMapper streetMapper; private StreetMapper streetMapper;
@PostMapping("/list") @PostMapping("/list")
@ApiOperation(value = "巷道查询") @ApiOperation(value = "巷道列表")
//@SessionHandler(userType = UserType.ACCOUNT) @SessionHandler
public Result<List<Street>> list() { public Result<List<Street>> list() {
return new Result<>(streetMapper.selectByMap(new HashMap<>(0))); return new Result<>(streetMapper.selectByMap(new HashMap<>(0)));
} }

@ -1,14 +0,0 @@
package com.zhehekeji.web.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class controller {
@RequestMapping(value = "/web",method = RequestMethod.GET)
public String get(){
return "web";
}
}

@ -0,0 +1,15 @@
package com.zhehekeji.web.pojo;
import lombok.Data;
@Data
public class IndexVO {
private Integer id;
private String name;
private String url;
//private String logo;
}

@ -31,4 +31,4 @@ zhehe:
postToken: w89euijon2&UHBTY$%huni34ri postToken: w89euijon2&UHBTY$%huni34ri
server: server:
port: 8099 port: 8099
userUrl: http://47.99.104.87:8067

Loading…
Cancel
Save