波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了懶惰運行時初始化Spring安全+重新加載Spring安全配置的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

Spring通常會在啟動應用程序時急切地加載Spring安全配置。我正在將OAuth與Spring Security一起使用

我維護了一個配置表,用于存儲與SSO相關的值(如jwk-url、Client_id、Client_Secret)。管理員用戶將通過同一Spring Boot應用程序中的CRUD填充此值。

那么只有jwk-url可以在Spring安全配置(refer below code - jwkSetUri(...))中進行配置。這在應用程序啟動時不可用。

因此,我希望在將值加載到表中之后初始化Spring安全配置,就像運行時的延遲加載(@Lazy)一樣。我知道如何延遲加載常規類/服務。

    但我仍然不確定如何在運行時調用configure(HttpSecurity http)方法以及如何
    為HttpSecurity參數賦值。當我像在運行時延遲加載一樣嘗試調用new ResourceServerConfiguration()時,我沒有看到調用了configuration()方法。(或者)無論何時需要,這個類都需要維護為Bean和延遲加載。但仍不確定如何在代碼中調用CONFigure()。

    另一個問題是,如果管理員更改了jwk url,如何在運行時刷新/重新加載Spring安全配置。則只有Spring安全配置才能使更改生效。

@Configuration
@EnableWebSecurity
public class ResourceServerConfiguration extends WebSecurityConfigurerAdapter {
    
    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.cors()
                .and()
                .csrf().disable()
                .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .oauth2ResourceServer()
                .authenticationEntryPoint(oAuth2AuthenticationEntryPoint)
                .accessDeniedHandler(oAuth2AccessDeniedHandler)
                .jwt()
                 // Some Auth server URL which would be fetch from table
                .jwkSetUri(ssoConfigService.getActiveSSOCertificateURL()); 
                 // Eg. http://localhost:8090/auth/realms/demo-app/protocol/openid-connect/certs
    }
}

我已經引用了這些鏈接。但這對我的目的沒有幫助。如有任何幫助,我們將不勝感激。

How do I lazy load Spring Security?

How to reload the Configure method of WebSecurityConfigurerAdapter when the application is up and running

Modify Spring Security Config at Runtime

Configure Spring HTTP Security at Runtime

推薦答案

請選中此鏈接Customizing CORS Filtering at Runtime,該鏈接包含與您相關的類似用例,但對于他來說,他需要動態更改允許的來源。他們決定創建一個新的篩選器并簡單地擴展OncePerRequestFilter。

考慮檢查您的用例的OAuth2ResourceServerProperties。

更新:
在此方案中嘗試使用此代碼:

另一件事是,如果管理員更改了jwk url,如何在運行時刷新/重新加載Spring安全配置。則只有Spring安全配置才能使更改生效。

 @Override
    public void configure(HttpSecurity http) throws Exception {
        http.cors()
                .and()
                .csrf().disable()
                .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
                .authorizeRequests()
                .anyRequest().authenticated()

                // TODO: test with and without this and check if work for you
                .and()
                .oauth2ResourceServer()
                .authenticationEntryPoint(oAuth2AuthenticationEntryPoint)
                .accessDeniedHandler(oAuth2AccessDeniedHandler)
                .jwt()
                // Some Auth server URL which would be fetch from table
                .jwkSetUri(ssoConfigService.getActiveSSOCertificateURL());
        // Eg. http://localhost:8090/auth/realms/demo-app/protocol/openid-connect/certs

        http.addFilterBefore(new OncePerRequestFilter() {
            // Every time a request occur, this method will be called.
            @Override
            protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {

                try {
                    http.oauth2ResourceServer()
                            .authenticationEntryPoint(oAuth2AuthenticationEntryPoint)
                            .accessDeniedHandler(oAuth2AccessDeniedHandler)
                            .jwt()
                            // Some Auth server URL which would be fetch from table
                            .jwkSetUri(ssoConfigService.getActiveSSOCertificateURL());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }, BasicAuthenticationFilter.class);
    }

希望此信息能幫助您。

這篇關于懶惰運行時初始化Spring安全+重新加載Spring安全配置的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Spring 初始化 加載 懶惰 運行 配置
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定