在运行时spring引导时更改对静态web资源的访问

在运行时spring引导时更改对静态web资源的访问,spring,spring-boot,togglz,featuretoggle,Spring,Spring Boot,Togglz,Featuretoggle,我在项目中使用SpringBoot和SpringSecurity来管理静态web资源的交付。到目前为止,我的应用程序通过SpringSecurity识别用户并允许他们访问这些资源就足够了。随后,我通过功能标志()控制某些资源的交付。通过使用功能标志,可以通过在运行时调用FeatureManagerBean来检查功能(例如“测试”)是否已启用,如下所示:manager.isActive(FeatureToggles.TEST)。为了访问管理web资源的标志,我尝试使用Spring的映射功能: @C

我在项目中使用SpringBoot和SpringSecurity来管理静态web资源的交付。到目前为止,我的应用程序通过SpringSecurity识别用户并允许他们访问这些资源就足够了。随后,我通过功能标志()控制某些资源的交付。通过使用功能标志,可以通过在运行时调用
FeatureManager
Bean来检查功能(例如“测试”)是否已启用,如下所示:
manager.isActive(FeatureToggles.TEST)
。为了访问管理web资源的标志,我尝试使用Spring的映射功能:

@Controller
@RequestMapping("/")    
public class IndexController {
    private FeatureManager manager;

    public IndexController(FeatureManager manager) {
        this.manager = manager;
    }

...

   @RequestMapping(path ="myFeature/")
    public ModelAndView redirectToMyFeature(ModelMap modelMap) {
        if (manager.isActive(FeatureToggles.TEST)) {
            return new ModelAndView("redirect:", modelMap);
        }
        return null;
    }

不幸的是,这段代码导致了一个无限循环。我想知道如何处理带条件的同一路径的映射(参见上面的代码)。为了在运行时控制某些资源的交付,是否还有其他方法可以使用Spring Boot?

您能解释一下为什么它会对一个场景进行无限循环吗?你的意思是,即使是静态资源也在请求身份验证?因为我做的是/myFeature/redirects to/myFeature/,所以redirectToMyFeature方法被反复调用。在浏览器控制台上有一个“302发现”。所有静态资源都受到保护并请求身份验证,这是所需的行为。但我不想让/myFeature/路径下的资源可访问,即使对于经过身份验证的用户也是如此,直到FeatureTogglz的UI管理员控制台中启用了标记“TEST”。