You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2008/06/05 08:47:44 UTC

svn commit: r663474 - in /geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests: sec-ear/src/test/java/org/apache/geronimo/testsuite/security/ sec-ejb/ sec-ejb/src/main/java/org/apache/geronimo/itest/ sec-ejb/src/main/resources/META-INF/ sec-w...

Author: djencks
Date: Wed Jun  4 23:47:44 2008
New Revision: 663474

URL: http://svn.apache.org/viewvc?rev=663474&view=rev
Log:
add some role-ref tests to sec-tests

Modified:
    geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ear/src/test/java/org/apache/geronimo/testsuite/security/RunAsTest.java
    geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/pom.xml
    geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSession.java
    geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSessionBean.java
    geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/resources/META-INF/openejb-jar.xml
    geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestInjectionServlet.java
    geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestServlet.java
    geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/webapp/WEB-INF/web.xml

Modified: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ear/src/test/java/org/apache/geronimo/testsuite/security/RunAsTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ear/src/test/java/org/apache/geronimo/testsuite/security/RunAsTest.java?rev=663474&r1=663473&r2=663474&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ear/src/test/java/org/apache/geronimo/testsuite/security/RunAsTest.java (original)
+++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ear/src/test/java/org/apache/geronimo/testsuite/security/RunAsTest.java Wed Jun  4 23:47:44 2008
@@ -59,8 +59,12 @@
         System.out.println("----------------------------------------------");
         System.out.println(selenium.getText("xpath=/html/body"));
         assertEquals("TestServlet principal: foo\n" +
-                "Test EJB principal: bar\n" +
-                "Correctly received security exception on noAccess method", selenium.getText("xpath=/html/body"));
+            "TestServlet isUserInRole foo: true\n" +
+            "TestServlet isUserInRole bar: false\n" +
+            "Test EJB principal: bar\n" +
+            "Correctly received security exception on noAccess method\n" +
+            "TestSession isCallerInRole foo: false\n" +
+            "TestSession isCallerInRole bar: true", selenium.getText("xpath=/html/body"));
     }
 
     @Test

Modified: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/pom.xml?rev=663474&r1=663473&r2=663474&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/pom.xml (original)
+++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/pom.xml Wed Jun  4 23:47:44 2008
@@ -52,6 +52,11 @@
             <artifactId>geronimo-ejb_3.0_spec</artifactId>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-annotation_1.0_spec</artifactId>
+            <scope>provided</scope>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.geronimo.framework</groupId>

Modified: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSession.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSession.java?rev=663474&r1=663473&r2=663474&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSession.java (original)
+++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSession.java Wed Jun  4 23:47:44 2008
@@ -24,5 +24,5 @@
 public interface TestSession  extends javax.ejb.EJBObject {
     String testAccess() throws RemoteException;
     String testNoAccess() throws RemoteException;
-
+    boolean isCallerInRole(String role);
 }

Modified: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSessionBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSessionBean.java?rev=663474&r1=663473&r2=663474&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSessionBean.java (original)
+++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/java/org/apache/geronimo/itest/TestSessionBean.java Wed Jun  4 23:47:44 2008
@@ -23,6 +23,7 @@
 /**
  * @version $Rev$ $Date$
  */
+@javax.annotation.security.DeclareRoles({"foo", "bar"})
 public class TestSessionBean implements SessionBean {
 
     SessionContext sessionContext;
@@ -35,6 +36,10 @@
         return sessionContext.getCallerPrincipal().getName();
     }
 
+    public boolean isCallerInRole(String role) {
+        return sessionContext.isCallerInRole(role);
+    }
+
     public void ejbCreate() {
         System.out.println("TestSessionBean");
     }

Modified: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/resources/META-INF/openejb-jar.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/resources/META-INF/openejb-jar.xml?rev=663474&r1=663473&r2=663474&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/resources/META-INF/openejb-jar.xml (original)
+++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-ejb/src/main/resources/META-INF/openejb-jar.xml Wed Jun  4 23:47:44 2008
@@ -32,34 +32,34 @@
             <ejb-name>TestSession</ejb-name>
         </session>
     </enterprise-beans>
-    <security xmlns="http://geronimo.apache.org/xml/ns/security-2.0">
-        <credential-store-ref>
-            <name xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">TestCredentialStore</name>
-        </credential-store-ref>
-        <role-mappings>
-            <role role-name="foo">
-                <run-as-subject>
-                    <realm>test-realm</realm>
-                    <id>foo-subject</id>
-                </run-as-subject>
-                <principal class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal" name="foo"/>
-            </role>
-            <role role-name="bar">
-                <run-as-subject>
-                    <realm>test-realm</realm>
-                    <id>bar-subject</id>
-                </run-as-subject>
-                <principal class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal" name="bar"/>
-            </role>
-        </role-mappings>
-    </security>
+    <s:security xmlns:s="http://geronimo.apache.org/xml/ns/security-2.0">
+        <s:credential-store-ref>
+            <d:name xmlns:d="http://geronimo.apache.org/xml/ns/deployment-1.2">TestCredentialStore</d:name>
+        </s:credential-store-ref>
+        <s:role-mappings>
+            <s:role role-name="foo">
+                <s:run-as-subject>
+                    <s:realm>test-realm</s:realm>
+                    <s:id>foo-subject</s:id>
+                </s:run-as-subject>
+                <s:principal class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal" name="foo"/>
+            </s:role>
+            <s:role role-name="bar">
+                <s:run-as-subject>
+                    <s:realm>test-realm</s:realm>
+                    <s:id>bar-subject</s:id>
+                </s:run-as-subject>
+                <s:principal class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal" name="bar"/>
+            </s:role>
+        </s:role-mappings>
+    </s:security>
     <gbean name="test-realm"
            class="org.apache.geronimo.security.realm.GenericSecurityRealm">
         <attribute name="realmName">test-realm</attribute>
         <xml-reference name="LoginModuleConfiguration">
             <lc:login-config xmlns:lc="http://geronimo.apache.org/xml/ns/loginconfig-${geronimoSchemaVersion}">
                 <lc:login-module control-flag="REQUIRED" wrap-principals="false">
-                    <lc:login-domain-name>test-realm</lc:login-domain-name>
+                    <lc:login-domain-name>test-domain</lc:login-domain-name>
                     <lc:login-module-class>org.apache.geronimo.itest.TestLoginModule</lc:login-module-class>
                     <lc:option name="users">foo,bar</lc:option>
                 </lc:login-module>
@@ -98,6 +98,9 @@
                 </realm>
             </credential-store>
         </xml-attribute>
+        <dependency>
+            <n:name xmlns:n="http://geronimo.apache.org/xml/ns/naming-1.2">test-realm</n:name>
+        </dependency>
     </gbean>
 </openejb-jar>
 

Modified: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestInjectionServlet.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestInjectionServlet.java?rev=663474&r1=663473&r2=663474&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestInjectionServlet.java (original)
+++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestInjectionServlet.java Wed Jun  4 23:47:44 2008
@@ -48,6 +48,8 @@
     protected void service(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
         PrintWriter out = httpServletResponse.getWriter();
         out.println("TestServlet principal: " + httpServletRequest.getUserPrincipal().getName());
+        out.println("TestServlet isUserInRole foo: " + httpServletRequest.isUserInRole("foo"));
+        out.println("TestServlet isUserInRole bar: " + httpServletRequest.isUserInRole("bar"));
         try {
             String principalName = session.testAccess();
             out.println("Test EJB principal: " + principalName);
@@ -57,6 +59,8 @@
             } catch (AccessException e) {
                 out.println("Correctly received security exception on noAccess method");
             }
+            out.println("TestSession isCallerInRole foo: " + session.isCallerInRole("foo"));
+            out.println("TestSession isCallerInRole bar: " + session.isCallerInRole("bar"));
         } catch (RemoteException e) {
             e.printStackTrace();
         }

Modified: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestServlet.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestServlet.java?rev=663474&r1=663473&r2=663474&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestServlet.java (original)
+++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/java/org/apache/geronimo/itest/TestServlet.java Wed Jun  4 23:47:44 2008
@@ -43,6 +43,8 @@
     protected void service(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
         PrintWriter out = httpServletResponse.getWriter();
         out.println("TestServlet principal: " + httpServletRequest.getUserPrincipal().getName());
+        out.println("TestServlet isUserInRole foo: " + httpServletRequest.isUserInRole("foo"));
+        out.println("TestServlet isUserInRole bar: " + httpServletRequest.isUserInRole("bar"));
         try {
             InitialContext ctx = new InitialContext();
 
@@ -57,6 +59,8 @@
             } catch (AccessException e) {
                 out.println("Correctly received security exception on noAccess method");
             }
+            out.println("TestSession isCallerInRole foo: " + session.isCallerInRole("foo"));
+            out.println("TestSession isCallerInRole bar: " + session.isCallerInRole("bar"));
 
         } catch (NamingException e) {
             System.out.print("Exception:");

Modified: geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/webapp/WEB-INF/web.xml?rev=663474&r1=663473&r2=663474&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/webapp/WEB-INF/web.xml (original)
+++ geronimo/server/trunk/testsuite/enterprise-testsuite/sec-tests/sec-war/src/main/webapp/WEB-INF/web.xml Wed Jun  4 23:47:44 2008
@@ -77,6 +77,7 @@
             <web-resource-name>secureServlet</web-resource-name>
             <url-pattern>/servlet</url-pattern>
             <url-pattern>/jsp</url-pattern>
+            <url-pattern>/injectionServlet</url-pattern>
             <http-method>GET</http-method>
             <http-method>POST</http-method>
         </web-resource-collection>