我的spring-boot + jersey应用程序已集成togglz。我在下面添加了依赖项,如下所示。

// togglz
compile('org.togglz:togglz-servlet:'+togglzVersion)
compile('org.togglz:togglz-cdi:'+togglzVersion)
compile('javax.enterprise:cdi-api:2.0-EDR1')
compile('org.togglz:togglz-spring-web:'+togglzVersion)
compile("org.togglz:togglz-spring-boot-starter:"+togglzVersion)
compile("org.togglz:togglz-console:"+togglzVersion)
compile("org.togglz:togglz-spring-security:"+togglzVersion)
compile("com.github.heneke.thymeleaf:thymeleaf-extras-togglz:1.0.1.RELEASE")


在启动类中,添加了以下代码:

@Bean
public FeatureProvider featureProvider() {
    return new EnumBasedFeatureProvider(AppFeatures.class);
}


启动应用程序后,我可以从以下链接中看到json数据:http://localhost:8080/togglz
但是我无法访问http://localhost:8080/togglz-console。我收到“无法加载资源:服务器以403(禁止)状态响应。

我可以在日志文件中看到以下日志,但是无法访问togglz-console / *。

o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'togglzConsoleServlet' to [/togglz-console/*]


以下是我的togglz属性文件:

# togglz
togglz:
    feature-enums: com.cooltoo.backend.features.AppFeatures # Comma-separated list of fully-qualified feature enum class names.
    features:
        SMS_CODE: false
    console:
        enabled: true # Enable admin console.
        path: /togglz-console # The path of the admin console when enabled.


我在这里想念什么?

最佳答案

步骤1添加以下依赖项:

   <!-- Togglz Admin Console -->
    <dependency>
       <groupId>org.togglz</groupId>
       <artifactId>togglz-console</artifactId>
       <version>2.3.0.RC1</version>
   </dependency>


步骤2在您的application.yml或application.properties中添加以下内容

togglz:
  console:
    enabled: true # Enable admin console.


要么

togglz.console.enabled: true # Enable admin console.


步骤3通过以下方式配置控制台路径

togglz:
    console:
     path: /togglz-console # The path of the admin console when enabled.


为了进行身份验证:添加一个虚拟的UserProvider,它为每个用户分配管理员权限:

public class MyTogglzConfiguration implements TogglzConfig {
        @Override
        public UserProvider getUserProvider() {
            return new UserProvider() {
                @Override
                public FeatureUser getCurrentUser() {
                    return new SimpleFeatureUser("admin", true);
                }
            };
        }
    }


如果要验证用户,而不是上面的虚拟用户,请遵循以下documentation来实现自己的UserProvider

10-06 02:23