我正在尋找一種安全框架,該框架允許基於角色的OSGi服務安全性以及CXF web服務。 前段時間我已經使用過彈簧安全功能,但就我們現在轉向藍圖而言,根據我的理解,它不再是一種選擇。要配置訪問規則,我想主要使用標準@RolesAllowed annotation。那麼我最好的出發點是什麼?我也想過把自己作爲一個藍圖擴展來實現,但我更喜歡現有的解決方案。OSGi的基於角色的安全性
回答
我建議你用Apache Shiro代替,http://shiro.apache.org/。
它爲認證,授權,加密和會話管理提供了簡單的API。它也可以輕鬆部署在OSGI容器內部。阿帕奇四郎有些職業選手都在這裏Apache Shiro vs Java EE native APIs
Shiro位於我正在調查的框架列表中。是否有一些文件如何設置爲OSGi?特別是我正在尋找一些關於如何將它用於普通OSGi服務和CXF服務的示例/提示。我發現的例子總是引用java web(servlet)應用程序。 因此,例如,如果我創建一個OSGi服務,我如何啓用shiro並如何使它符合RolesAllowed註釋?或者,如果我打電話給OSGi服務,我該如何進行身份驗證。我想會有一些本地線程來保存我的認證信息。 –
列在我創建了一個基於JAAS和Java EE annoations授權的藍圖擴展(@RolesAllowed,@PermitAll,@DenyAll)的平均時間。您可以將擴展名添加到任何藍圖文件。然後,它會掃描所有bean以查找這些通知,並在發現它們時攔截呼叫。它使用現有的JAAS上下文來獲取用戶的角色。
這樣做的先決條件是做JAAS登錄。我還創建了CXF JAASAuthentication功能,該功能基於基本身份驗證或ws安全用戶名主體登錄用戶。該模塊與Apache Karaf JAAS支持一起工作。所有卡拉夫用戶和角色都適用。
我將創建一個教程,演示如何在使用包含授權模塊的aries藍圖版本之後使用所有這些。同時,如果你嘗試一下並報告你有任何問題,我會很高興。
Btw。 karaf的另一種方法是內置於karaf 3+中的基於角色的OSGi服務訪問控制。它不適用於註釋,但也易於使用。請參閱 http://coderthoughts.blogspot.de/2013/10/role-based-access-control-for-karaf.html
基督徒,你有沒有鏈接你做了什麼,因爲我會有興趣做基本相同的這(意思是你的藍圖擴展)謝謝。 –
這應該有助於https://github.com/cschneider/Karaf-Tutorial/blob/master/cxf/personservice/server/src/main/resources/OSGI-INF/blueprint/blueprint.xml。註釋掉的配置會激活authz模塊以允許@RolesAllowed並且JAASAuthenticationFeature負責登錄。 –
- 1. 基於角色的安全性asp.net mvc
- 2. 基於角色的安全
- 3. AzMan和AD角色的基於ASP.NET角色的安全性
- 4. DLL上的基於角色的安全
- 5. C#基於角色的安全
- 6. Winforms基於角色的安全限制
- 7. MVVM和基於角色的安全
- 8. HornetQ基於角色的安全實現
- 9. RIA中基於角色的JavaScript安全
- 10. 隱藏Html.ActionLinks基於角色的安全
- 11. 基於Spring安全角色的URL
- 12. 啓用基於角色的安全
- 13. 擴展基於角色的安全性以允許特定實體的角色
- 14. 基於角色的安全性的工廠模式
- 15. Rails中屬性的基於角色的安全機制
- 16. 基於應用程序角色的安全性的CouchDB
- 17. 部署在Weblogic上的EJB基於角色的安全性
- 18. ASP.Net MVC,基於角色的安全性和其他基於人員的數據
- 19. 如何在T-SQL中實現基於角色的安全性?
- 20. 使用基於角色的安全性ASP.NET目錄訪問
- 21. Google App Engine和Python基於角色的安全性
- 22. 基於ASP.NET Web API角色的安全性
- 23. Spring安全性基於REST風格的角色控制
- 24. 基於ASP.NET Web應用程序角色的安全性
- 25. 基於SpringBoot +方法的分層角色安全性:需要ServletContext
- 26. 基於角色的WEB API安全性2
- 27. 基於Spring Boot角色的安全性JWT
- 28. Sitecore 8是否保留基於角色的安全性
- 29. 春季安全:基於角色
- 30. 基於ASP.NET角色的安全性是一個真正的基於角色的訪問控制系統嗎?
我在我的應用程序中配置了Shiro,運行在Karaf上。我設法配置安全管理器,所以我可以使用存儲在數據庫中的憑證登錄/註銷。現在我正在努力尋找一種方法來使用這些註釋。你找到了解決方案嗎? – jhamon
最後我沒有使用shiro。相反,我使用CXF JaasLoginFeature。它使用憑證進行jaas登錄,然後可以從同一個線程檢索憑證。例如,aries blueprint-authz模塊使用jaas登錄。 –
CXF Jaas是否也支持類似Shiro提供的'Session'功能? – jhamon