Seam Drool安全规则 - 工作记忆中的其他事实?

时间:2010-12-06 19:47:36

标签: security jboss authorization seam drools

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

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

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

思想?

1 个答案:

答案 0 :(得分:0)

希望我能正确理解这个问题,但似乎你应该创建一个具有最高突出性的规则,每次都先运行,因此插入每次都要使用的事实对象。

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

then
insert fact object