3

我正在尝试在 Spring Boot 上运行 Togglz 控制台,但我在屏幕上看到了这个:

(type=Forbidden, status=403). You are not allowed to access the Togglz Console.

我只是注意到很多人有同样的问题,一些解决方案对他们有用。但我不明白我做错了什么。

这是我的代码:

我的特色

  public enum MyFeatures implements Feature {

    @EnabledByDefault
    @Label("The list of employees can be displayed")
    SHOW_LIST,

    @Label("Second Feature")
    FEATURE_TWO;

    public boolean isActive() {
        return FeatureContext.getFeatureManager().isActive(this);
    }


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

MyTogglz 配置

public class MyTogglzConfiguration implements TogglzConfig {
@Override
public Class<? extends Feature> getFeatureClass() {
    return null;
}

@Override
public StateRepository getStateRepository() {
    return null;
}


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

我的依赖:

<dependency>
        <groupId>org.togglz</groupId>
        <artifactId>togglz-console</artifactId>
        <version>2.3.0.RC1</version>
    </dependency>
    <dependency>
        <groupId>org.togglz</groupId>
        <artifactId>togglz-spring-boot-starter</artifactId>
        <version>2.3.0.Final</version>
</dependency>

应用程序属性

togglz:
enabled:true # Enable Togglz for the application.
feature-enums:# Comma-separated list of fully-qualified feature enum class names.
feature-manager-name:# The name of the feature manager.
features:# The feature states. Only needed if feature states are stored in application properties.
HELLO_WORLD:true
REVERSE_GREETING:true
REVERSE_GREETING.strategy:username
REVERSE_GREETING.param.users:user2, user3
features-file:# The path to the features file that contains the feature states. Only needed if feature states are stored in external properties file.
features-file-min-check-interval:# The minimum amount of time in milliseconds to wait between checks of the file's modification date.
cache:
enabled:false # Enable feature state caching.
time-to-live:0 # The time after which a cache entry will expire.
time-unit:milliseconds # The time unit as java.util.concurrent.TimeUnit enum name (one of "nanoseconds", "microseconds", "milliseconds", "seconds", "minutes", "hours", "days").
console:
enabled:true # Enable admin console.
path:/togglz-console # The path of the admin console when enabled.
feature-admin-authority:ROLE_ADMIN # The name of the authority that is allowed to access the admin console.
secured:false # Indicates if the admin console runs in secured mode. If false the application itself should take care of securing the admin console.
endpoint:
id:togglz # The endpoint identifier.
enabled:true # Enable actuator endpoint.
sensitive:true # Indicates if the endpoint exposes sensitive information.

如果有人可以帮助我,我将不胜感激。

谢谢!

4

2 回答 2

1

我已经发现我做错了什么,所以我的提示:

  1. 不需要 MyTogglzConfiguration 类
  2. 将 application.properties 更改为 application.yml
  3. 使用 Spring Security for togglz-console 或禁用 make。

我更新的应用程序属性(application.yml):

   togglz.console.enabled: true

   togglz:
     feature-enums: service.Features
     console:
      path: /togglz-console
      secured: false
于 2016-09-09T11:33:46.183 回答
0

当您在类路径中有与 togglz 相关的单元测试 jar 文件时,就会发生这种情况。

就我而言,我在类路径中得到了 togglz-junit.2.1.0.Final.jar。

于 2018-08-09T21:29:23.203 回答