2011-09-24 73 views
2

伙计们, 我要写一吨的J2EE/JAX-RS代码,其中几乎所有的公共方法将执行以下操作:使用自定义的注释生成biolerplate代码

  • 寻找一个安全的存在令牌在请求头中。
  • 调用实用程序以确保令牌有效。
  • 如果无效,返回错误响应(或注入空令牌)
  • 如果有效,做一些东西,这可能涉及自省令牌
  • 在大多数情况下,在响应头返回更新标记。

我希望能够使用注释来抽象出这件作品。我想象的方法如下:

@RequireToken(returnRenewed=true) 
@POST 
@Path("/some/path") 
public Result myMethod(...) 
{ 
    @InjectedToken 
    final Token securityToken; 
    ... 
} 

任何关于如何进行的指针?

回答

0

您是否考虑过对这些操作使用spring安全性?你可能会实现你自己的认证过滤器。

如果不是春天安全,也许AOP和“之前”或“周围的建议”?

+0

嗨Mich,感谢您的回复。我正好在J2EE/EJB3阵营中,所以我没有考虑Spring安全性。如果AOP更通用,我很乐意检查它。有没有一个很好的参考可以指向我? – Raj

+0

您可以使用Spring AOP模块的AOP,它非常易于使用。如果你使用J2EE/EJB3,它不会是一个问题。 Spring框架是非常模块化的,所以你只能使用它的一部分。更重要的是,在弹簧技术的情况下,文档始终是最好的信息来源。 AOP:http://static.springsource.org/spring/docs/3.1.0.M2/spring-framework-reference/html/aop.html围绕建议部分:http://static.springsource.org/spring/docs /3.1.0.M2/spring-framework-reference/html/aop.html#aop-ataspectj-around-advice – mmatloka

+1

如果你不想使用与spring连接的任何东西,你必须阅读有关aspectj。 – mmatloka