3

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>

アプリケーションのプロパティ

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. togglz-console に Spring Security を使用するか、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 に答える