2015-10-23 51 views
1

使用權限的JDBC境界,當我usally有這個表:Java EE的JDBC領域

  1. 用戶表
  2. 角色表
  3. 組表

當我現在username, password登錄安全模塊在表中進行查找:give me all roles for user: username

我可以以某種方式掛鉤進程並添加另一個屬性?例如。 give me all roles for user: username where UserTable.X = Y

注:我必須使用純Java EE

回答

1

有一些可能性來實現所需的行爲。

  1. 最簡單的解決方案不會是定製登錄過程,但使用也許@WebFilter或一些類似的方法使用手工查找。

  2. 如果你需要或想要自定義登錄過程本身看看JASPIC(相對較新)。在1.1版本中它非常實用,但其支持取決於您正在使用的應用程序服務器。這個想法是編寫一個自己的登錄過程,並將定製Principal傳回給Java EE。這裏有一個很好的鏈接集合:Zeef

  3. 定製登錄過程的一種較早的方法是創建一個特定於應用程序服務器的安全領域。換句話說,您正在編寫或擴展您的應用程序服務器當前使用的JDBC Realm。然後您可以將自定義安全主體傳遞迴Java EE。