我正在尝试使用 togglz 在 Springboot 中实现 UsernameActivation Startegy,但由于示例/文档不足,我无法这样做。这是一个简单的 Maven Poc。这是我的课程:
public enum Features implements Feature{
@Label("just a description")
@EnabledByDefault
HELLO_WORLD,
@Label("Hello World Feature")
@DefaultActivationStrategy(id = UsernameActivationStrategy.ID, parameters =
{@ActivationParameter(name = UsernameActivationStrategy.PARAM_USERS, value = "suga")
})
HELLO,
@Label("another descrition")
@EnabledByDefault
REVERSE_GREETING;
public boolean isActive() {
return FeatureContext.getFeatureManager().isActive(this);
}
}
@Component
public class Togglz implements TogglzConfig {
public Class<? extends Feature> getFeatureClass() {
return Features.class;
}
public StateRepository getStateRepository() {
return new FileBasedStateRepository(new File("/tmp/features.properties"));
}
public UserProvider getUserProvider() {
return new SpringSecurityUserProvider("ADMIN_ROLE");
}
}
我想使用 UsernameActivation 策略,但我不确定我还需要做哪些代码更改才能使其正常工作。我确实知道它与 UserProvider 有某种关系。另外,我不确定它将如何比较用户名值以及如何捕获当前用户值。任何关于这个的想法都会有很大的帮助!