Togglz控制台错误403 Spring Boot

时间:2016-09-06 07:50:22

标签: spring spring-boot togglz

我正在尝试在Spring Boot上运行Togglz控制台,但我在屏幕上显示:

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

我刚注意到很多人都遇到了同样的问题,并且有些解决方案适用于他们。但我不明白我做错了什么。

这是我的代码:

MyFeatures

  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);
}}

MyTogglzConfiguration

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>

application.properties

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.

如果有人可以帮助我,我会很感激。

谢谢!

2 个答案:

答案 0 :(得分:2)

我已经找到了我做错了什么,所以我的提示:

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

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

   togglz.console.enabled: true

   togglz:
     feature-enums: service.Features
     console:
      path: /togglz-console
      secured: false

答案 1 :(得分:0)

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

在我的情况下,我在类路径中找到了togglz-junit.2.1.0.Final.jar。