我正在開發一個GWT應用程序,它使用Spring Security來處理身份驗證。我的應用程序將有5個用戶,每個角色不同。哪個Spring安全ACL選項最適合分級權限
- 超級用戶 - 這是網站所有者,並已讀取所有內容的寫入權限。
- 學校老闆 - 這是擁有將使用該應用程序的學校的人。該用戶可以訪問他們所有的學校。
- 區域經理 - 這是網站所有者的員工,並且可以訪問該地區的學校。 (一個地區是一個學校的實體區域)
- 學校經理 - 管理某所學校,並且讀寫該學校的所有內容。訪問由學校老闆提供。
- 教師 - 只能閱讀和寫入學校經理分配給他/她的特定區域。
香港專業教育學院採取了看看不同的方式來實現這樣的安全模型,我使用Spring的安全解決這兩種方式之間徘徊,先有使用4數據庫ACL表作爲解釋這樣做的複雜的方式on denksoft blog
另一種方式是通過Spring安全性使用基於表達式的訪問控制表達式語言,它更加容易,不需要額外的數據庫表。
我的問題是,從我打算實現,哪個選項更好地使用,並會給更好的結果。我假設使用第一個選項(使用數據庫ACL表)提供更多的自定義。我來自RoR背景,想知道爲什麼我需要這麼多表來實現這一目標。 Expression語言選項是該場景的可行解決方案。如果有的話,是否有一個很好的起點/教程呢?建議非常感謝。