[JBoss Seam] - Re: how to use PropertyChangeListener on entity beans for dr
by ellenzhao
okay, the dynamic drools property thing turns out not so wonderful. Say if an entity has 10 fields whose setter are plugged a property change listener, the propertyChangeListener will cause 10 evaluations in the Rete network, while if batch update -- to be concrete:
| ...
| StatefulSession ss = myRuleBase.newStatefulSession();
|
| ss.setGlobal("myManager", myManager),
| ...
| FactHandle fh1 = ss.insert(myEntity1);
| FactHandle fh2 = ss.insert(myEntity2);
| ..
|
| // here you modify your entities wildly,
| // for example modify all 10+ or 20+ fields
|
| entityManager.flush();
| ss.update(fh1, myEntity1);
| ss.update(fh2, myEntity2);
| ...
|
| ss.fireAllRules();
|
only cause one evaluation to each entity in the Rete network. So this approach is much more recommended. StatefulSession's (rule session, please do not confuse with hibernate session) update(fh, obj) is much like entityManager's flush().
Maybe it is a good idea to tie entityManager's flush together with stateful rule session's update together.....
I was using the propertychangelistener approach because I happened to have 2 entities who both have only one field needing to be monitored in the stateful rule session. Sorry for the confusion/mislead. And big thanks to Mark Proctor for clarifying this issue to me.
Regards,
Ellen
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4064685#4064685
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4064685
18Â years, 12Â months
[Security & JAAS/JBoss] - Implementing the Authorization using DatabaseServerLoginModu
by rrsireesha
Hi,
Iam using the JDeveloper and JBoss to develop my web application using JSF. And the data is retrieved from the database(Oracle). I have implemented the DatabaseServerLoginModule for Authorization and Authentication. Here is code I have in the backingbean method of the Login button.
SecurityAssociationHandler handler = new SecurityAssociationHandler();
SimplePrincipal user = new SimplePrincipal(j_username.getValue().toString());
handler.setSecurityInfo(user, j_password.getValue().toStrin().toCharArray());
LoginContext loginContext =
new LoginContext("testDB", (CallbackHandler)handler);
loginContext.login();
Subject subject = loginContext.getSubject();
Set principals = subject.getPrincipals();
principals.add(user);
When I print the principals it is giving me the correct details from the database. The Authentication is working perfectly. I'm confused how to go from here for the authorization part. I have declared the page-level security in the web.xml and it is not working (no exceptions thrown). Role name with 'user' is able to access the pages under /admin folder.
Content of web.xml related to authorization-
<security-constraint>
<web-resource-collection>
<web-resource-name>Administrator</web-resource-name>
<url-pattern>/faces/admin/*</url-pattern>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-role>
Administrator
<role-name>admin</role-name>
</security-role>
Please advise me how to do the authorization part from here.
Thanks In Advance.
SR.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4064678#4064678
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4064678
18Â years, 12Â months