2011-09-24 71 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