【问题标题】:Seam Drool Security Rules - Additional Facts in Working Memory?Seam Drool 安全规则 - 工作记忆中的其他事实?
【发布时间】:2011-05-21 04:42:59
【问题描述】:

我创建了一个名为 ApplicationLoginContext 的类,其中包含用户通过身份验证后的信息(用户名、登录时间戳、远程 IP 地址等)。我正在使用 JBoss Seam 安全规则(基于 Drools)在我的应用程序中的不同时间进行授权和许可检查。有没有办法将此登录上下文类永久添加到我的安全规则的工作内存中?例如,我有一个登录事件的监听器。在此侦听器中,我创建了登录上下文对象,并将其添加到我的安全规则工作内存中。从那里,在我的安全规则文件中,我可以执行以下操作:

rule MyRule
...
when
  c: PermissionCheck()
  loginContext:  ApplicationLoginContext()
  // do stuff with loginContext here
then
  ...

我尝试将 ApplicationLoginContext 对象添加到会话中,但这似乎没有帮助。还有什么我应该做的吗?我不想每次进行权限检查时都将其作为参数包含在内。理想情况下,我想在每个会话中注入一次并完成。

想法?

【问题讨论】:

    标签: security jboss authorization seam drools


    【解决方案1】:

    希望我正确理解了这个问题,但您似乎应该只创建一个每次都首先运行的具有最高显着性的规则,因此插入您每次都想使用的事实对象。

    rule "insert logic"
    salience 100
    when 
    eval(true)
    
    then
    insert fact object
    

    【讨论】:

      猜你喜欢
      • 2013-11-22
      • 1970-01-01
      • 2019-07-23
      • 2021-08-16
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-12-22
      • 2020-02-01
      相关资源
      最近更新 更多