0

我在我的项目中使用 Spring Boot 和 Spring Security 来管理静态 Web 资源的交付。到目前为止,我的应用程序通过 Spring Security 识别用户并允许他们访问这些资源就足够了。随后,我通过功能标志 ( https://www.togglz.org/documentation/spring-boot-starter.html )控制某些资源的交付。FeatureManager通过使用功能标志,可以通过在运行时调用 Bean来检查是否启用了功能(例如“TEST”),如下所示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 来控制运行时某些资源的交付吗?

4

0 回答 0