我們的應用程序的身份驗證是通過siteminder代理髮生的,但授權是通過我們的應用程序控制的。Spring安全 - 預認證 - 數據庫中定義的授權和集合角色
我正在使用org.springframework.security.web.authentication.preauth.RequestHeaderAuthenticationFilter檢查標題。我還定義了UserDetailsService來加載用戶的詳細信息。
我還需要爲用戶設置角色,以便我可以使用彈簧安全標記庫和其他彈簧方法來檢查角色並顯示選項。
我該如何實施?
我已經在我的用戶詳細信息服務實現中嘗試了下面的語句,但似乎沒有工作。
Authentication auth = new UsernamePasswordAuthenticationToken(user, null, roles);
SecurityContextHolder.getContext().setAuthentication(auth);
我也讀過關於AbstractPreAuthenticatedProcessingFilter類,但看起來像這可能沒有用於此目的。
在這個問題上的任何幫助將是非常有益的。
謝謝!
您的_RequestHeaderAuthenticationFilter_擴展了您正在討論的_AbstractPreAuthenticatedProcessingFilter_。你很好。但是您還需要設置_PreAuthenticatedAuthenticationProvider_。你需要提供你的安全配置文件給別人來幫助你更好。 – Angad
謝謝你對Angad的迴應。我使用Spring Security提供的PreAuthenticatedAuthenticationProvider,但沒有擴展它來設置角色。 – Sanjeev