java - 用户的业务规则 Java 应用程序

标签 java database validation

描述可能听起来只是一堆文字,所以这里有更详细的解释。我有一个映射到数据库表的用户对象。 我希望用户扮演不同的角色。将会有很多这样的用户 - 从技术上讲,他们将是同一个表中的相同用户,但对他们将应用不同的角色。假设角色A的用户需要有两个字段,并且对密码的长度和内容以及密码的过期时间等有一定的限制。

虽然我可以硬核这些规则,但我非常有兴趣发现还有另一种方法来定义规则,并且可以存储在数据库中,以便更容易加载/应用以及主要思想 - 更改和更新它们 - - 无需重新部署代码库。

从技术上讲,最愚蠢和直接的解决方案是实现类,序列化,存储在数据库中,然后加载,反序列化,调用将执行规则的方法。问题在于规则集的更改(阅读规则类的“接口(interface)”),并且通常的解决方案听起来像是一个黑客。

还有别的吗?有什么框架吗?其他方法?

更新:可能不清楚。比如说,我有 User.java 类 我需要定义不同的规则说: 1. 是否需要验证密码长度,应该是多少? 2.我们是否需要要求一些属性? 3. 我们是否需要跟踪该用户的登录尝试? 4. 如果我们进行跟踪,允许多少次登录尝试? 5. 密码会过期吗? 6. 如果我们这样做,那么需要多少天?或几个月?或几周? 7.... 等等等等。 所以问题是。 - 如何定义这些规则并在用户对象上进行操作而不修改和重新部署代码库? - 我如何存储这些规则集?

Drools、jBPM 等似乎不适合该任务。但任何建议都会有所帮助!

最佳答案

JRuleengine我听说很好,不久前我计划将它用于类似的应用程序。

不过还有许多其他规则引擎

关于java - 用户的业务规则 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5048928/

相关文章:

集群环境中的数据库 ID 生成

php - 使用 XML 作为动态 AJAX 页面的数据库

arrays - JSON Schema Array 必须包含特定的字符串

xml - 将数据存储为 XML

java - Eclipse 在同一目录中的另一个文件中找不到 xsl 模板

java : Best way to pass int by reference

java - HttpURLConnection setConnectTimeout() 没有效果

c# - 如何获取模型属性的 id 以便与 MVC3 中的自定义 IClientValidatable 一起使用

javascript - 如何捕获 react 钩子(Hook)表单验证错误

Java:为自行实现的双向链表添加排序功能