Springboot接口鉴权简单方式
今天遇到需要给springboot单独的模块需要做接口鉴权的机制,因为我们是多模块开发的项目。为了接口安全,实现方式为:
对称加密 白名单
这种方式就从软件和网络二个方面进行了安全保障。
拦截器
类似于jwt那种方式,header中添加对称加密之后的sign,客户端请求中,需携带这个请求接口。服务器端拦截器中,获取该sign,如果解密成功,说明合法请求。
public class AdminInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object object) throws Exception {
// 从 http 请求头中取出签名
httpServletResponse.setCharacterEncoding("UTF-8");
httpServletResponse.setContentType("application/json; charset=utf-8");
String sign = httpServletRequest.getHeader("Sign");
String decKey = AesEncodeUtil.decrypt(sign);
final String message = "接口鉴权失败,请在前端系统添加鉴权值";
if (Objects.nonNull(decKey)) {
return true;