[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3883) URL rewriting broken for view-id of redirects in exceptions
by Stephen Friedrich (JIRA)
URL rewriting broken for view-id of redirects in exceptions
-----------------------------------------------------------
Key: JBSEAM-3883
URL: https://jira.jboss.org/jira/browse/JBSEAM-3883
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.1.1.GA
Reporter: Stephen Friedrich
When a configured exception handler redirects to a view-id, then the URL for that view-id is not processed by Seam's URL rewriting filter.
As a result you cannot re-write the URL for your login page if you want to redirect to the login page when a ViewExpiredSException occurs.
The problem is that the RewriteFilter is deeper in the filter chain than the ExceptionFilter, so at the time when the exception filter is handling an exception no RewritingResponse is on the chain of wrapped responses.
Norman RIchards suggested to split incoming and outgoing rewriting and place it at opposite ends of the filter chain.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 3 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-4367) clustering and replication calls hashCode and injection fails.
by deanhiller (JIRA)
clustering and replication calls hashCode and injection fails.
--------------------------------------------------------------
Key: JBSEAM-4367
URL: https://jira.jboss.org/jira/browse/JBSEAM-4367
Project: Seam
Issue Type: Bug
Affects Versions: 2.1.1.GA
Environment: JBoss 5.0.1
Reporter: deanhiller
Seam seems to be doing replication after the request is complete(which is cool because replication failure does not affect the application) but when seam or jboss goes to replicate my conversation bean, it happens to have no session context because the request is complete. It then calls hashCode on my Seam bean as seen in the following stack trace and tries to inject a user object which is required. this object comes from the Session but there is no session since the replication is done after the request.
2009-08-19 11:58:16,939 WARN [org.jboss.web.tomcat.service.session.InstantSnaps
hotManager./portal] (http-0.0.0.0-8080-5) N/A Failed to replicate session ZBMJye
XcxwbcSR3R1Ns0Fg__
org.jboss.seam.RequiredException: @In attribute requires non-null value: fillInP
arams.user
at org.jboss.seam.Component.getValueToInject(Component.java:2297)
at org.jboss.seam.Component.injectAttributes(Component.java:1703)
at org.jboss.seam.Component.inject(Component.java:1521)
at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:61)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.persistence.ManagedEntityInterceptor.aroundInvoke(ManagedEntityInterceptor.java:48)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:65)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:118)
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
at net.voicelog.custom.PageBFillInReportParams_$$_javassist_7.hashCode(PageBFillInReportParams_$_javassist_7.java)
at java.util.HashMap$Entry.hashCode(HashMap.java:720)
at java.util.AbstractMap.hashCode(AbstractMap.java:461)
at org.jboss.ha.framework.server.SimpleCachableMarshalledValue.<init>(SimpleCachableMarshalledValue.java:74)
at org.jboss.ha.framework.server.SimpleCachableMarshalledValue.<init>(SimpleCachableMarshalledValue.java:80)
at org.jboss.web.tomcat.service.session.distributedcache.spi.SessionSerializationFactory.createMarshalleValue(SessionSerializationFactory.java:74)
at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getMarshalldValue(AbstractJBossCacheService.java:641)
at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.putSession(AbstractJBossCacheService.java:405)
at org.jboss.web.tomcat.service.session.ClusteredSession.processSessionReplication(ClusteredSession.java:1194)
at org.jboss.web.tomcat.service.session.JBossCacheManager.processSessionRepl(JBossCacheManager.java:1635)
at org.jboss.web.tomcat.service.session.JBossCacheManager.storeSession(JBossCacheManager.java:294)
at org.jboss.web.tomcat.service.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:49)
at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:120)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.jboss.web.tomcat.service.sso.ClusteredSingleSignOn.invoke(ClusteredSingleSignOn.java:672)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 3 months
[JBoss JIRA] Created: (JBSEAM-4586) NullPointerException instead of AuthorizationException
by Konstantin Larionov (JIRA)
NullPointerException instead of AuthorizationException
------------------------------------------------------
Key: JBSEAM-4586
URL: https://jira.jboss.org/jira/browse/JBSEAM-4586
Project: Seam
Issue Type: Bug
Affects Versions: 2.2.0.GA
Reporter: Konstantin Larionov
I am using Seam 2.2.0.GA and I have both rule-based (Drools) and JPA entity security enabled. It works, until I try to persist a new entity without having permission for this operation.
In this case Seam throws unexpected NullPointerException instead of AuthorizationException. Namely, it is thrown by the org.jboss.seam.security.permission.EntityIdentifierStrategy.getIdentifier(Object target) method.
I debug this code and found that exception is thrown when trying to get identifier for new entity, which is not yet persisted and thus have no ID assigned!
The most interesting part of stack trace is below.
...
Caused by: java.lang.NullPointerException
at org.jboss.seam.security.permission.EntityIdentifierStrategy.getIdentifier(EntityIdentifierStrategy.java:48)
at org.jboss.seam.security.permission.IdentifierPolicy.getIdentifier(IdentifierPolicy.java:85)
at org.jboss.seam.security.permission.JpaPermissionStore.createPermissionQuery(JpaPermissionStore.java:234)
at org.jboss.seam.security.permission.JpaPermissionStore.listPermissions(JpaPermissionStore.java:622)
at org.jboss.seam.security.permission.JpaPermissionStore.listPermissions(JpaPermissionStore.java:607)
at org.jboss.seam.security.permission.PersistentPermissionResolver.hasPermission(PersistentPermissionResolver.java:80)
at org.jboss.seam.security.permission.PermissionMapper.resolvePermission(PermissionMapper.java:80)
at org.jboss.seam.security.Identity.hasPermission(Identity.java:632)
at org.jboss.seam.security.Identity.checkPermission(Identity.java:580)
at org.jboss.seam.security.EntityPermissionChecker.checkEntityPermission(EntityPermissionChecker.java:115)
at org.jboss.seam.security.EntitySecurityListener.prePersist(EntitySecurityListener.java:30)
at sun.reflect.GeneratedMethodAccessor499.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.ejb.event.ListenerCallback.invoke(ListenerCallback.java:31)
at org.hibernate.ejb.event.EntityCallbackHandler.callback(EntityCallbackHandler.java:80)
at org.hibernate.ejb.event.EntityCallbackHandler.preCreate(EntityCallbackHandler.java:49)
at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:48)
at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:645)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:619)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:623)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)
at org.jboss.seam.persistence.EntityManagerProxy.persist(EntityManagerProxy.java:137)
at com.ims.ipat.web.editor.OrganizationEditorBean.save(OrganizationEditorBean.java:47)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 3 months
[JBoss JIRA] Created: (JBSEAM-4691) OpenId example doesn't work with JBossAS 6.0.0 out of the box
by Marek Novotny (JIRA)
OpenId example doesn't work with JBossAS 6.0.0 out of the box
-------------------------------------------------------------
Key: JBSEAM-4691
URL: https://jira.jboss.org/browse/JBSEAM-4691
Project: Seam
Issue Type: Bug
Components: Examples
Affects Versions: 2.2.0.GA, 2.2.1.CR1
Environment: JBossAS 6.0.0.M1
Reporter: Martin Gencur
Assignee: Marek Novotny
Fix For: 2.2.1.CR2
After enterring login, password and submitting the form in OpenId example the 404 Http status code is returned with:
type: Status report
message: /seam-openid/openid.seam
description: The requested resource (/seam-openid/openid.seam) is not available.
but the JBossAS console shows:
09:23:12,091 INFO [ConsumerManager] Verifying authentication response...
09:23:12,092 INFO [ConsumerManager] Received positive auth response.
09:23:12,093 INFO [ConsumerManager] Found association: {HMAC-SHA256}{4b750fee}{DFVFmA==} verifying signature locally...
09:23:12,094 INFO [ConsumerManager] Verification succeeded for: http://seamqa.myopenid.com/
The openid.seam (openid.xhtml) is view which is automatically generated by Seam. The openid feature logs in to remote authentication page and redirects automatically back to the openid.xhtml which is not available.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 4 months