如何在 spring-boot 应用程序中启用 togglz-console
How to enable togglz-console in spring-boot application
我的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")
在我的引导程序中 class 我添加了以下代码:
@Bean
public FeatureProvider featureProvider() {
return new EnumBasedFeatureProvider(AppFeatures.class);
}
启动应用程序后,我可以从 link:http://localhost:8080/togglz 中看到 json 数据。
但是我无法访问 http://localhost:8080/togglz-console。我收到 "Failed to load resource: the server responded with a status of 403 (Forbidden" 错误。
我可以在我的日志文件中看到下面的日志,但我无法访问 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.
我错过了什么?
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);
}
};
}
}
如果您想对用户进行身份验证,而不是上面的虚拟用户,请按照此 documentation
实现您自己的 UserProvider
请在您的 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 将始终 运行 应用程序端口上的管理控制台。
我的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")
在我的引导程序中 class 我添加了以下代码:
@Bean
public FeatureProvider featureProvider() {
return new EnumBasedFeatureProvider(AppFeatures.class);
}
启动应用程序后,我可以从 link:http://localhost:8080/togglz 中看到 json 数据。 但是我无法访问 http://localhost:8080/togglz-console。我收到 "Failed to load resource: the server responded with a status of 403 (Forbidden" 错误。
我可以在我的日志文件中看到下面的日志,但我无法访问 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.
我错过了什么?
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);
}
};
}
}
如果您想对用户进行身份验证,而不是上面的虚拟用户,请按照此 documentation
实现您自己的 UserProvider请在您的 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 将始终 运行 应用程序端口上的管理控制台。