如何在spring启动应用程序中动态执行ip白名单?

gblwokeq  于 2021-07-15  发布在  Java
关注(0)|答案(0)|浏览(208)

我想给白名单用户的访问权,而不考虑他们的令牌。授权服务器是不同的spring引导应用程序,它提供令牌来访问我正在处理的spring引导应用程序上的资源。现在我有一个api端点要添加到白名单中。目前我使用ip白名单的方式如下-

public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {
    @Autowired
    IpWhitelistingProvider ipWhitelistingProvider;

    @Override
    public void configure(HttpSecurity http) throws Exception {

        http
        .authorizeRequests()

        .antMatchers("/api/**").access(ipWhitelistingProvider.acessString()+"#oauth2.hasScope('resourcescope')")
//...
}

ipwhitelistingprovider.accessstring()提供表达式-hasipaddress(列表中的第一个ip)或hasipaddress(列表中的第二个ip),依此类推。。。。这里的问题是我不能动态更新这些表达式,它只在应用程序启动时更新。因此,当我通过前面提到的api添加新的ip时,它不会更新access方法中的表达式。为了更新,我需要重新启动应用程序。那么,如何才能使动态添加的ip对安全性可用呢?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题