Hi,<br><br>I'm mew to this rules stuff, and although I've looked at rules engines such as Corticon before, I got introduced to JBoss Rules through JBoss Seam's security mechanism.<br><br>I'm trying to expand on Seam's built in functionality to assess a user's permissions. My use case is that a user of the system may or may not have permission to a resource based on the user's role AND the current date. The system accepts certain actions only if "now" is between a certain start and end date. What I'd like to do is something like this:
<br><br>rule CanDoHisStuff<br> activation-group "permissions"<br>when<br> c: PermissionCheck(name == "stuff", action == "do", granted = false)<br> now: new Date() <--------------------------------------------------------------How can I accomplish this?
<br> ap: AppProps()<br> Role(name == "A Role")<br> eval(now >= ap.startDate, now <= ap.endDate) <br>then<br> c.grant();<br>end;<br><br>Now, I understand that in my code, I could assert an object "now". However, a lot of the security is hidden behind the scenes in Seam. For example, this rules will be fired from an XML definition file.
E.g.<br><br> <page view-id="/restricted/doStuff.xhtml"><br> <restrict>#{s:hasPermission('stuff', 'do', null)}</restrict><br> <navigation from-action="#{
createStuffManager.yesConfirmSave}"><br> <end-conversation/><br> <redirect view-id="/restricted/viewStuff.xhtml"/><br> </navigation><br> </page><br>
<br>While I could start extending Seam's security model, that seems a bit invasive for such a simple task.<br><br>Thanks<br><br>/Kris<br><br><br><br>