2

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

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

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

想法?

4

1 回答 1

0

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

rule "insert logic"
salience 100
when 
eval(true)

then
insert fact object
于 2011-03-18T03:16:13.647 回答