[JBoss Seam] - Re: Security Problem
by Eethyo
Got it work with, even if i dont know why it works now and it didnt work before...
rule canUserEditProfile
| when
| c: PermissionCheck(name == 'userProfil', action=='editUserProfil')
|
| Principal(principalName : name)
| User(username : username -> (username.equals(principalName)))
| then
| c.grant();
| end
but as soon as i put in:
or
| Role(name == 'Admin')
doesnt work anymore.
following exception:
javax.faces.FacesException: javax.el.ELException: /userShow.xhtml @19,102 rendered="#{s:hasPermission('userProfil', 'editUserProfil' , user)}": org.drools.RuntimeDroolsException: Exception executing predicate Permissions.Rule_canUserEditProfile_0ReturnValue0Invoker@ca3754e1
| at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:373)
| at org.richfaces.renderkit.TabPanelRendererBase.encodeTabs(TabPanelRendererBase.java:240)
| at org.richfaces.renderkit.html.TabPanelRenderer.doEncodeBegin(TabPanelRenderer.java:224)
| at org.richfaces.renderkit.html.TabPanelRenderer.doEncodeBegin(TabPanelRenderer.java:180)
| at org.ajax4jsf.framework.renderer.RendererBase.encodeBegin(RendererBase.java:101)
| at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:577)
| at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
| at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:233)
| at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
| at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:63)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:87)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:63)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:46)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
| at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:40)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:140)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: javax.el.ELException: /userShow.xhtml @19,102 rendered="#{s:hasPermission('userProfil', 'editUserProfil' , user)}": org.drools.RuntimeDroolsException: Exception executing predicate Permissions.Rule_canUserEditProfile_0ReturnValue0Invoker@ca3754e1
| at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
| at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
| ... 49 more
| Caused by: org.drools.RuntimeDroolsException: Exception executing predicate Permissions.Rule_canUserEditProfile_0ReturnValue0Invoker@ca3754e1
| at org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstraint.java:228)
| at org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaConstraints.java:110)
| at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:154)
| at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:20)
| at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:183)
| at org.drools.reteoo.Rete.assertObject(Rete.java:121)
| at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:201)
| at org.drools.reteoo.ReteooWorkingMemory.doAssertObject(ReteooWorkingMemory.java:70)
| at org.drools.common.AbstractWorkingMemory.assertObject(AbstractWorkingMemory.java:724)
| at org.drools.common.AbstractWorkingMemory.assertObject(AbstractWorkingMemory.java:548)
| at org.jboss.seam.security.RuleBasedIdentity.hasPermission(RuleBasedIdentity.java:139)
| at org.jboss.seam.security.SecurityFunctions.hasPermission(SecurityFunctions.java:19)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:325)
| at org.jboss.el.parser.AstFunction.getValue(AstFunction.java:84)
| at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
| at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
| ... 50 more
| Caused by: java.lang.ClassCastException: org.jboss.seam.security.PermissionCheckShadowProxy
| at org.drools.base.java.security.Principal$getName.getValue(Unknown Source)
| at org.drools.base.ClassFieldExtractor.getValue(ClassFieldExtractor.java:86)
| at org.drools.rule.Declaration.getValue(Declaration.java:156)
| at Permissions.Rule_canUserEditProfile_0ReturnValue0Invoker.evaluate(Rule_canUserEditProfile_0ReturnValue0Invoker.java:14)
| at org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstraint.java:222)
| ... 69 more
|
i am getting crazy.
is there another way to express an "or" expression?!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4082979#4082979
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4082979
18 years, 9 months
[Messaging, JMS & JBossMQ] - Re: Exception in JMSCI message listener
by nicdo77
Let me just explain briefly the context of my project. This application is communicating with another app via the WebService i'm talking about. My colleague is developing the other app and generated for me the client code to connect to the WebService, since he is hosting the WS. I don't know anything about WS, and he doesn't know anything about the app i'm developing, so i'm queit obliged to use Axis and he can't really help me.
Thats why i hope there is an easy answer/solution to my problem, cause i'm not able to do anything with WebService.
I know, i could try, but the point is, i just arrived on this app, and they NEVER put any test environment. So to try things out, i'm obliged to try them directly in production environment. So i don't really want to try new solutions (and creating a whole testing environment would oblige me to handle JMS queues, and my app is really to complex for this i guess... besides the messages received on JMS queues are sent by a distant module that i can't really simulate)
Anyway, hope you will be able to help me...
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4082970#4082970
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4082970
18 years, 9 months
[Messaging, JMS & JBossMQ] - Exception in JMSCI message listener
by nicdo77
Hi there,
I'm having a big problem with JMS queues.
OK here is the context.
Until this morning, i had an application running perfectly on JBoss3.2.3, under Java 4, with no webservices and JMS queue.
I updated it on my production environment, adding a WebService feature to connect onto a distant WebService.
I added the following librairies:
- axis-1.4.jar
- axis-jaxrpc-1.4.ar
- axis-saaj-1.4.jar
- axis-wsdl4j-1.5.1.jar
- commons-discovery-0.2.jar
When i restarted my JBoss server, the new feature was working perfectly and doing what i was expecting (connecting and sending datas over the network to a distant server). BUT, on the other side, everytime a message was being sent to or from my JMS queues, i was having this error message:
12:44:10,810 ERROR [JMSContainerInvoker] Exception in JMSCI message listener
| javax.ejb.EJBException: RuntimeException; CausedByException is:
| null
| at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:357)
| at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195)
| at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
| at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:374)
| at org.jboss.ejb.Container.invoke(Container.java:700)
| at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:824)
| at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1114)
| at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
| at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633)
| at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433)
| at org.jboss.mq.SpySession.run(SpySession.java:298)
| at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:727)
| at java.lang.Thread.run(Thread.java:534)
| java.lang.NullPointerException
| at com.thalys.localys.frontal.MessageTrainCreator.marshall(Unknown Source)
| at com.thalys.localys.frontal.MessageTrain.sendToLocalysQueue(Unknown Source)
| at com.thalys.localys.bordmsg.receiving.BordMsgReceiverBean.onMessage(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:324)
| at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:460)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
| at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
| at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:144)
| at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:32)
| at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62)
| at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90)
| at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
| at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
| at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:374)
| at org.jboss.ejb.Container.invoke(Container.java:700)
| at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:824)
| at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1114)
| at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
| at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633)
| at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433)
| at org.jboss.mq.SpySession.run(SpySession.java:298)
| at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:727)
| at java.lang.Thread.run(Thread.java:534)
I'm really worried about this cause i really need to make it work. And if the JMs queues does not work anymore, i lose all the interest of my app.
Hope you will be able to help me.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4082969#4082969
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4082969
18 years, 9 months