add 用户中心 鉴权

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

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

@ -1,6 +1,9 @@
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.Result;
import com.zhehekeji.core.util.Assert;
import com.zhehekeji.filter.FilterConstance;
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 javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/**
* @Description Session
@ -31,6 +35,8 @@ public class SessionAspect {
@Value("${zhehe.filter.enable}")
private Boolean enable;
@Value("${userUrl}")
private String userUrl;
/**
* zhehekeji..*.controller
@ -39,23 +45,23 @@ public class SessionAspect {
* @param sessionHandler
*/
@Before("execution(public * com.zhehekeji..*.controller.*.*(..))&&@annotation(sessionHandler)")
public void handler(SessionHandler sessionHandler) {
public void handler(SessionHandler sessionHandler){
if(!enable){
return;
}
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
CurrentUser currentUser = null;
String token = request.getHeader(FilterConstance.HEADER);
if (UserType.ACCOUNT.equals(sessionHandler.userType())) {
log.info("token:" + token);
if (!StringUtils.isEmpty(token)) {
currentUser = JwtUtil.getUser(request);
if (currentUser != null) {
}
CurrentUser currentUser = null;
try {
String res = HttpUtil.token(userUrl+"/api/account/checkToken",token);
Result currentUserResult = JSONObject.parseObject(res,Result.class);
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()) {
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("新增")
@PostMapping("/")
//@SessionHandler(userType = UserType.ACCOUNT)
public Result<Long> save(@RequestBody OrderSaveReq saveReq){
validatorUtil.validate(saveReq);
Assert.isTrue(postToken.equals(saveReq.getToken()),"token不正确");
@ -42,12 +41,21 @@ public class OrderController {
@PostMapping("/list")
@ApiOperation(value = "查询")
//@SessionHandler(userType = UserType.ACCOUNT)
@SessionHandler
public Result<List<Order>> findRoleList(@RequestBody OrderSearch orderSearch) {
validatorUtil.validate(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;
import com.zhehekeji.core.pojo.Result;
import com.zhehekeji.filter.pojo.SessionHandler;
import com.zhehekeji.web.entity.Order;
import com.zhehekeji.web.entity.Street;
import com.zhehekeji.web.mapper.StreetMapper;
@ -26,8 +27,8 @@ public class StreetController {
private StreetMapper streetMapper;
@PostMapping("/list")
@ApiOperation(value = "巷道查询")
//@SessionHandler(userType = UserType.ACCOUNT)
@ApiOperation(value = "巷道列表")
@SessionHandler
public Result<List<Street>> list() {
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
server:
port: 8099
userUrl: http://47.99.104.87:8067

Loading…
Cancel
Save