我有Web應用程序,我使用Spring MVC。現在我想爲管理員和簡單用戶添加不同的數據源。所以我的應用程序應該通過匿名用戶連接到DB,它只能從表中選擇並插入到某些表中。但是,當用戶通過管理員自己授權時,應用程序應在數據庫連接上更改用戶和密碼,並將根用戶權限連接到數據庫。彈簧3.0.5可以做到這一點嗎?春天使用不同的數據源,取決於用戶
回答
嘗試用
org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter
可以經由setCredentialsForCurrentThread在數據源設置的憑證()方法在登錄過濾器,例如。
太棒了!正如你所說,我在AppContext中聲明瞭這個bean,然後在我的CustomAuthenticationManager中聲明瞭這個bean,當用戶或管理員登錄時,我將使用@Autowire獲取這個數據源,併爲它設置管理員密碼。但我有一個問題:這個數據源 - 會話bean還是單例?因爲我將在jdbcTemplate中使用它。或者我應該聲明這個數據源與會話範圍? – 2013-04-07 12:40:57
使用單例數據源並讓連接池處理每個用戶池連接。 – 2013-04-07 18:15:12
好吧我如何使用Spring來管理連接池? – 2013-04-07 22:37:40
- 1. 春天的數據來源和範圍
- 2. 不同的UIViewController取向取決於用戶在哪個視圖
- 3. 春天數據源bean配置與.properties
- 4. 春天數據休息後子資源
- 5. 使用不同的WordPress主題取決於不同的網站?
- 6. 用於用戶控制的數據源
- 7. 在一天中(同一天 - >許多用戶數據)保存用戶數據
- 8. WordPress的 - 顯示不同的網頁取決於用戶
- 9. DailyRollingLog不適用於春天mvc
- 10. 使用取決於參數
- 11. 在mybatis-config.xml中,不同的用戶如何使用不同的用戶名登錄到同一個數據源?
- 12. 公共和私人資源澤西+春天開機使用不同的路徑
- 13. 網頁顯示取決於不同的用戶
- 14. 取決於用戶的不同auth對話框
- 15. 春天數據源的事務管理器不回滾
- 16. 使用取決於不同的URL 404錯誤頁面試圖通過用戶
- 17. 春天自動改變對象的狀態取決於日期
- 18. 取決於春季註冊不同的流輪廓在我的應用程序
- 19. CakePHP 3,如何使用不同的數據源基於$ _SERVER ['SERVER_NAME']
- 20. 管理所有用戶的會話數據在春天3.0
- 21. 春天的表達不能解決型
- 22. 如何在ListView中獲取數據取決於用戶?
- 23. 從mysql獲取數據取決於用戶做了什麼
- 24. 從不同行獲取單元格值(行數取決於用戶輸入)
- 25. 春天的數據通過
- 26. PHP重定向取決於用戶MySQL中的列數據
- 27. 對SSRS中的不同配置使用不同的數據源
- 28. 使用$ EQ春數據相當於
- 29. 春天,如何通過使用不同的Url分開不同的包?
- 30. scipy.stats.spearmanr的不同結果取決於數據的生成方式
當然,您可以配置多個數據源,然後在您的應用程序中包含邏輯,根據用戶的授權級別選擇一個邏輯。那是你想要還是希望Spring自動將調用路由到特定的數據源或類似的東西? – david 2013-04-06 17:31:53
是的,我想自動的方式。你能否給我一些材料或例子,說明如何在運行時更改數據源?我認爲Spring Security可以做到這一點,但我沒有找到任何有關它的信息。 – 2013-04-06 18:33:35
難道你不是隻有一個'dao'類專門用於管理相關的活動,並且有相應的'datasource'自動裝入它嗎?那麼'dao'類可以被自動裝配到適當的控制器中,等等? – david 2013-04-06 18:39:43