gpt4 book ai didi

java - Togglz 功能开关 - 如何为具有相同逻辑的多个 Id/parms 实现 ActivationStategy(组合策略中的逻辑相同)

转载 作者:行者123 更新时间:2023-12-01 08:54:14 26 4
gpt4 key购买 nike

这是我的问题

我有一个带有名为“UserActivationStrategy”的自定义策略的功能开关。它所做的只是在 Id 字段中有一个硬编码值“user”,在 param< 中有一个“IpAddress”/strong> 以及一些在 isActive(state,user) 中返回 true/false 的逻辑。

因此要调用的策略是根据硬编码的Id确定的。这是我的 application.properties 及其定义

CustomFeature = true
CustomFeature.strategy= user
CustomFeature.param.IpAddress= xx.xx.xxx

上面的内容表明....UserActivationStrategy 是根据Id('user') 调用的,该Id('user') 是硬编码在策略中的。在 UserActivationStrategy 中,我正在验证 Ipaddress 并返回 true/false。

如果我需要对具有不同 IpAddress 的不同用户执行相同的逻辑怎么办?它就像组合。某些用户可以访问某些 IpAddress。

我无法为每个用户或每个 IP 地址创建功能开关。它将创建许多功能开关。

如果我将用户和 IP 地址添加为策略中的参数。我最终在单一策略中创建了许多参数,这不好。

任何解决方案都值得赞赏。谢谢。

最佳答案

我不确定我是否完全理解您想要实现的目标。因此,您有一个功能标志,如果激活,当且仅当存在特定的用户和 IP 地址组合时,它的值为 true

如果是这样,您也许应该创建一个单一策略,可以使用对所有允许的组合进行编码的字符串进行配置。像这样的东西:

user1=127.0.0.1, user2=127.0.0.2, user3=127.0.0.3

然后您可以在管理控制台中配置此配置字符串。或者直接添加到配置文件中:

CustomFeature = true
CustomFeature.strategy= user
CustomFeature.param.combintations=user1=127.0.0.1, user2=127.0.0.2

该策略必须解析此表示并检查允许的组合之一。

关于java - Togglz 功能开关 - 如何为具有相同逻辑的多个 Id/parms 实现 ActivationStategy(组合策略中的逻辑相同),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42169670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com