2016-08-26 65 views
0

建立定义注解来验证请求头春

我们有一组微服务的,我们使用Spring云服务注册(尤里卡)和API网关(ZUUL)。我们正在ZUUL本身进行身份验证,一旦通过验证,ZUUL就会添加一个带有值的请求头(例如“Authenticated”)。所有对核心服务的请求都是通过ZUUL完成的,因此认证是在ZUUL中完成的。

问题

每个核心的服务在不同的端口上运行,如果有一定的要求,通过ZUUL涉及到核心服务直接没有,那么我们想检查请求头中是否带有“认证”。

  1. 如果它包含“Authenticated”,那么请求应该通过。
  2. 如果没有,则反应应该是403

我们的方法

我们计划创建一个自定义的注释 @validateAuthentication和检查请求头中是否包含“认证”为每个值。我们不想将任何弹簧安全依赖添加到核心服务。

问题

  1. 是我们的方法/设计可行的,可以请你建议如何可以做到这一点。
  2. 你能指点我一些参考材料来做到这一点吗?
  3. 我已经提出了一些关于此主题的问题[Custom Annotation in Spring with BeanPostProcessor,但无法继续。

如果您需要更多详细信息,请告诉我。

谢谢!

回答

0

我们创建了将处理自定义注解@validateAuthentication图书馆,我们创建扩展HandlerInterceptorAdapter截击类。

我们实施我们在preHandle请求头(HttpServletRequest的请求,响应HttpServletResponse的,对象的处理程序)方法的验证。