4

私の spring-boot+jerey アプリケーションには 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.

私はここで何を逃したのですか?

4

2 に答える 2

4

Step1以下の依存関係を追加します。

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

Step2以下を application.yml または application.properties に追加します

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

また

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

Step3コンソールパスを設定します

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

ユーザーを認証する場合は、上記のダミーの代わりに、このドキュメントに従って独自の UserProvider を実装します

于 2016-06-07T06:20:04.990 に答える
1

application.yml または application.properties に以下を追加してください。

togglz:
  console:
    enabled: true
    path: /togglz-console
    use-management-port: false

また

togglz.console.enabled: true
togglz.console.path: /togglz-console
togglz.console.use-management-port: false

togglz.console.use-management-port を false に設定すると、常にアプリケーション ポートで管理コンソールが実行されます。

于 2020-10-22T15:00:30.597 に答える