[jboss-cvs] JBossAS SVN: r114512 - in projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842: src/main/java/org/jboss/ejb3/security and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Aug 14 11:22:33 EDT 2013
Author: dehort
Date: 2013-08-14 11:22:33 -0400 (Wed, 14 Aug 2013)
New Revision: 114512
Modified:
projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/
projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/main/java/org/jboss/ejb3/security/Ejb3AuthenticationInterceptorv2.java
projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/SecuredBean.java
projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/SecuredLocal.java
projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/unit/AuthenticationInterceptorTestCase.java
Log:
Commiting a fix where a call to an @PermitAll method fails if there is no security context
[JBPAPP-10842]
Property changes on: projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842
___________________________________________________________________
Added: svn:mergeinfo
+ /projects/ejb3/branches/jboss-ejb3-core-1.3:114510
/projects/ejb3/branches/jboss-ejb3-core-1.3.8-JBPAPP-10802:114494
Modified: projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/main/java/org/jboss/ejb3/security/Ejb3AuthenticationInterceptorv2.java
===================================================================
--- projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/main/java/org/jboss/ejb3/security/Ejb3AuthenticationInterceptorv2.java 2013-08-14 15:14:02 UTC (rev 114511)
+++ projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/main/java/org/jboss/ejb3/security/Ejb3AuthenticationInterceptorv2.java 2013-08-14 15:22:33 UTC (rev 114512)
@@ -106,8 +106,12 @@
if(invSC == null)
{
if(prevSC == null)
- throw new IllegalStateException("Local Call: Security Context is null");
- populateSecurityContext(sc, prevSC);
+ {
+ log.trace("Local Call: Security Context is null");
+ populateSecurityContext(sc, sc);
+ }
+ else
+ populateSecurityContext(sc, prevSC);
}
else
{
Modified: projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/SecuredBean.java
===================================================================
--- projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/SecuredBean.java 2013-08-14 15:14:02 UTC (rev 114511)
+++ projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/SecuredBean.java 2013-08-14 15:22:33 UTC (rev 114512)
@@ -25,6 +25,7 @@
import javax.annotation.Resource;
import javax.annotation.security.RolesAllowed;
+import javax.annotation.security.PermitAll;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
@@ -51,7 +52,13 @@
{
// do nothing
}
-
+
+ @PermitAll
+ public void permitAll()
+ {
+ // do nothing
+ }
+
public String whoAmI()
{
return ctx.getCallerPrincipal().getName();
Modified: projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/SecuredLocal.java
===================================================================
--- projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/SecuredLocal.java 2013-08-14 15:14:02 UTC (rev 114511)
+++ projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/SecuredLocal.java 2013-08-14 15:22:33 UTC (rev 114512)
@@ -35,6 +35,8 @@
Principal getCallerPrincipal();
void onlyAdmin();
+
+ void permitAll();
String whoAmI();
}
Modified: projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/unit/AuthenticationInterceptorTestCase.java
===================================================================
--- projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/unit/AuthenticationInterceptorTestCase.java 2013-08-14 15:14:02 UTC (rev 114511)
+++ projects/ejb3/branches/jboss-ejb3-core-1.3.9_JBPAPP-10842/src/test/java/org/jboss/ejb3/core/test/ejbthree1646/unit/AuthenticationInterceptorTestCase.java 2013-08-14 15:22:33 UTC (rev 114512)
@@ -158,4 +158,25 @@
assertSame(sc, SecurityContextAssociation.getSecurityContext());
}
+
+ @Test
+ public void testCallingInterceptorWithNullSecurityContext() throws Exception
+ {
+ SecuredLocal bean = lookup("SecuredBean/local", SecuredLocal.class);
+
+ assertEquals("nobody", bean.whoAmI());
+
+ bean.permitAll();
+
+ try
+ {
+ bean.onlyAdmin();
+ fail("Should have thrown EJBAccessException");
+ }
+ catch(EJBAccessException e)
+ {
+ // good
+ }
+ }
+
}
More information about the jboss-cvs-commits
mailing list