2009-02-12 78 views
11

安全總是傾向於在新項目中佔據最後的位置。或者你使用像Spring這樣的框架,其安全性已經內置,並且可以輕鬆開啓。 我試圖找到一個可以插入到Swing和Web應用程序(和JavaFX?)中的開放安全框架,可能很容易理解。我看着普通的JAAS,JGuard和JSecurity,但它太複雜了,無法開始。 任何建議或經驗分享? 我正在與NB,Glassfish和MySQL合作。 謝謝 斯文Java安全框架

+0

將標記從jee5更改爲javaee,因爲您不應該將自己限制爲最新版本! – 2009-02-12 09:27:11

回答

5

我強烈建議學習JAAS。這確實不難,但Sun網站上有一些有用的tutorialsreference guide

根據我的經驗,JAAS的使用非常廣泛,所以一旦你瞭解它,它絕對是你可以重用的東西。它也恰好是Glassfish認證機制的構建塊之一!

5

我在Web應用程序的JAAS中做了類似的研究,並且遇到了「思路障礙」,直到我終於認識到JAAS是一個框架,它在Java世界中的傳統Web應用程序的不同「層」上處理安全性。它旨在解決J2SE而不是J2EE中的安全問題。

JAAS是一個安全框架構建,用於在網絡應用程序的低一級保護事物。這些東西的一些例子是在JVM級別提供的代碼和資源,因此所有這些能夠在JVM級別設置策略文件。

但是,由於J2EE是在J2SE之上構建的,JAAS中的一些模塊在J2EE安全中重用,例如LoginModules和Callbacks。另一方面,Acegi也被稱爲Spring Security,它在解決網絡應用程序安全問題時處理更高的「層次」。它建立在J2EE安全性之上,因此J2SE因此是JAAS。除非您希望保護J2SE級別(類,系統資源)中的資源,否則除了使用公共類和接口之外,我沒有看到任何實際使用的JAAS。只關注使用Acegi或簡單的舊的J2EE安全性,它解決了很多常見的Web應用程序安全問題。

在這一天結束時,瞭解您正在處理的J2EE-J2SE安全問題的哪個「層」併爲問題選擇寫入工具是很重要的。

+0

經過一段時間的研究,我相信JSecurity(現在稱爲Ki(http://incubator.apache.org/ki/))是一個不錯的選擇。目前仍在開發中,但我目前測試的結果看起來很有希望。 – javadude 2009-04-30 10:01:59

+2

ki現在被稱爲shiro,只是一個關於外來者的筆記 – 2013-03-05 21:18:54

8

我剛纔已經採取了這一http://shiro.apache.org/

阿帕奇四郎的觀點是一個功能強大且易於 ,使用的Java安全框架 執行身份驗證,授權 ,加密和 會話管理。通過Shiro的 易於理解的API,您可以快速,輕鬆地保護任何 應用程序 - 從最小的移動應用程序到最大的應用程序和 企業應用程序。

0

當你在JBoss下強調一個Web應用程序(比如說一個簡單的GET的併發數爲50個線程的200萬個請求)時,apache shiro可悲地失敗了。 是非常dissapointing找出這一點。當您使用過濾器時,會發生這種情況。

2

我建議您看看OACC(http://oaccframework.org)。 OACC旨在解決應用程序安全性問題。與大多數框架不同,OACC可以在您的應用程序中存儲/管理授權關係。 OACC的授權模型比Shiro或Spring Security更強大。