@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
if (handler.getClass().isAssignableFrom(HandlerMethod.class)) {
Authentication Authentication = ((HandlerMethod) handler)
.getMethodAnnotation(Authentication.class);
//如果沒用Authentication這個註解標註的接口或者validate=false則直接通過
if (Authentication == null
|| Authentication.validate() == false) {
return true;
} else {
BufferedReader streamReader = new BufferedReader( new InputStreamReader(request.getInputStream(), "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = streamReader.readLine()) != null)
responseStrBuilder.append(inputStr);
Map<String ,String> map = JSON.parseObject(Base64.decode(responseStrBuilder.toString()),Map.class);
String userToken = map.get("token");
log.debug("current token**************: " + userToken);
if (StringUtils.isBlank(userToken)) {
returnValue(response);
return false;
} else {
TokenTools tokenTools = new TokenTools();
if (!tokenTools.checkLoginInfo(userToken)) {
returnValue(response);
return false;
}
log.debug("You have logged in successfully!");
return true;
}
}
}else {
return true;
}
}
加紅的代碼是對Json串的處理HttpServletRequest接收的是Json格式數據的解決辦法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.