2010-07-21 76 views
4

我閱讀了大部分文檔,我只看到了使用@RolesAllowed@DeclareRoles,我該如何添加用戶或刪除用戶。我有一個用戶名和密碼在我的數據庫的用戶表,我如何使我的網絡應用程序來驗證這些用戶?我怎樣才能將這些用戶(委託人)映射到特定的角色。示例代碼將不勝感激。非常感謝Java EE 6安全模式:如何添加或刪除用戶

回答

4

JAAS登錄模塊需要對用戶進行身份驗證,建立主體,可以將數據庫中存在的用戶/主體映射到源代碼中定義的角色。

假設您對Java EE 6使用GlassFish v3,則需要在GlassFish中爲此創建和配置JDBC領域。預先警告說,領域配置可能不會與數據庫中的用戶表進行一對一映射,在這種情況下,您需要修改表定義,或者擴展登錄模塊以創建自己的方案。

儘管設置了數據庫領域,您仍然需要將源代碼中定義的Java EE角色映射到領域中的實際角色。這是使用應用程序服務器特定的部署描述符完成的。

+0

我知道要索取樣本代碼太多了。但是,你知道這種事情的任何教程嗎? – 2010-07-21 18:40:11

+1

那麼你很幸運。查看標題爲「Mort學習JDBC領域認證」的博客條目:http://blogs.sun.com/foo/entry/mort_learns_jdbc_realm_authentication 它顯示瞭如何根據作者創建的表配置JDBC領域,以及然後展示如何在非常簡單的Web應用程序中使用用戶和角色。注意sun-web.xml中的JEE角色和JDBC角色之間的映射。 – 2010-07-21 18:47:27

+0

太好了。現在閱讀。我非常感謝你的幫助。如果我有任何問題,請告訴你。再來一次。謝謝! – 2010-07-21 18:52:11

1

JavaEE沒有定義用戶和角色的管理,只是應用程序與它們的交互方式。

由特定的服務器實現來定義該功能,因爲他們認爲合適。

+0

取決於您對「用戶和角色的管理」的確切含義,這可能不完全正確。在OP的問題中,我認爲它是指在Java EE中未定義auth/login模塊的實現。這實際上是確定的;通過在Java EE 6中添加的JASPIC SPI。 – 2013-08-04 13:15:39