package com.stylefeng.guns.modular.system.auth; import com.stylefeng.guns.modular.system.util.ResultUtil; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @Service public class AuthService { private final static Logger log = LoggerFactory.getLogger(AuthService.class); public static final AuthService me = new AuthService(); /** * 鉴权 * @param appid * @param sign * @param requset * @return */ public ResultUtil checkSyncAuth(String appid, String sign, HttpServletRequest requset) { try { if (StringUtils.isBlank(sign)) { return ResultUtil.sign(); } // 1.鉴权 String signUrl = AuthenticationKit.getSignUrl(requset, "sign"); signUrl = signUrl.replaceAll("& #40;", "\\("); signUrl = signUrl.replaceAll("& #41;", "\\)"); String signUrlEncode = AuthenticationKit.signUrlEncode(signUrl, appid); if(sign.indexOf(" ") != -1 && signUrlEncode.indexOf("+") != -1){//处理前后端加密差异 signUrlEncode = signUrlEncode.replaceAll("\\+", " "); } // 签名无 if (StringUtils.isBlank(sign) || !sign.equals(signUrlEncode)) { return ResultUtil.sign(); } } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } return ResultUtil.success(); } }