2011-10-11 34 views
1

我喜歡給我的REST webservice(Guice + Jersey)添加用戶認證。在Java中使用面向方面的編程進行用戶認證?

我首先想用Google Guice方法攔截來解決認證問題。例如:

@Path("user") 
public class User { 

    @OnlyAdmin 
    @Post 
    public void addUser(String apiKey) { 
    } 

} 

但不幸的是,Guice只支持帶有無參數構造函數的類的AOP。

  1. 使用AOP進行用戶認證通常是一個好主意嗎?
  2. 是否有其他的框架來建立用戶認證?

編輯:框架也許是錯誤的術語。我只想找一種方法在每個註釋方法中注入一些代碼,並且此代碼應該檢查方法的參數

+0

你的例子有一個沒有參數的默認構造函數。我也沒有在Guice文檔中看到這個要求。 – dlamblin

+0

可能的重複http://stackoverflow.com/questions/1827131/how-to-manage-security-with-google-guice和/或相關http://stackoverflow.com/questions/1805843/a-guice-ready - 安全框架 – beny23

+0

@dlamblin是的,但在真實的類中只有帶參數的custructor。請參閱http://code.google.com/p/google-guice/wiki/AOP中的_Limitation_部分 –

回答

1

AOP在您的案例中唯一重要的一點是您的課程獲得由Guice創建的

如果您有帶參數的構造函數,請確保它們是可注射的(直接或輔助注入)。

1

它不會是AOP,但可以注入綁定到請求範圍的當前用戶角色無論用戶需要檢查並使用任何方法攔截或顯式邏輯來檢查正確的用戶類正在執行某個操作。

相關問題