You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@tomee.apache.org by bu...@apache.org on 2012/07/20 15:57:20 UTC
svn commit: r826460 - in /websites/staging/openejb/trunk: cgi-bin/ content/
content/dev/jira/ content/examples-trunk/testing-security-3/
content/examples-trunk/testing-security-3/src/main/java/org/superbiz/injection/secure/
content/examples-trunk/testi...
Author: buildbot
Date: Fri Jul 20 13:57:19 2012
New Revision: 826460
Log:
Staging update by buildbot for openejb
Removed:
websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/test/resources/groups.properties
websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/test/resources/users.properties
Modified:
websites/staging/openejb/trunk/cgi-bin/ (props changed)
websites/staging/openejb/trunk/content/ (props changed)
websites/staging/openejb/trunk/content/dev/jira/todo.html
websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/README.html
websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/main/java/org/superbiz/injection/secure/MyLoginProvider.java
websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/test/java/org/superbiz/injection/secure/MovieTest.java
websites/staging/openejb/trunk/content/sitemap.xml
Propchange: websites/staging/openejb/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Jul 20 13:57:19 2012
@@ -1 +1 @@
-1363758
+1363777
Propchange: websites/staging/openejb/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Jul 20 13:57:19 2012
@@ -1 +1 @@
-1363758
+1363777
Modified: websites/staging/openejb/trunk/content/dev/jira/todo.html
==============================================================================
--- websites/staging/openejb/trunk/content/dev/jira/todo.html (original)
+++ websites/staging/openejb/trunk/content/dev/jira/todo.html Fri Jul 20 13:57:19 2012
@@ -295,7 +295,6 @@
<li><a href="https://issues.apache.org/jira/browse/TOMEE-298">TOMEE-298</a>: Review and Close JIRAs for version</li>
<li><a href="https://issues.apache.org/jira/browse/TOMEE-297">TOMEE-297</a>: Update fixVersions for JIRAs used in svn commits</li>
<li><a href="https://issues.apache.org/jira/browse/TOMEE-296">TOMEE-296</a>: Ensure JIRAs have been filed for commits</li>
-<li><a href="https://issues.apache.org/jira/browse/TOMEE-295">TOMEE-295</a>: Ensure Build is passing</li>
<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1836">OPENEJB-1836</a>: Validation: @Local on bean with no-interface should use @LocalBean</li>
<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1827">OPENEJB-1827</a>: Validation: @DataSourceDefinition className must be set</li>
<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1767">OPENEJB-1767</a>: Validation: Allow missing no-arg constructor for beans with @Inject constructor</li>
Modified: websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/README.html
==============================================================================
--- websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/README.html (original)
+++ websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/README.html Fri Jul 20 13:57:19 2012
@@ -247,6 +247,39 @@ public class Movies {
}
</code></pre>
+<h2>MyLoginProvider</h2>
+
+<pre><code>package org.superbiz.injection.secure;
+
+import org.apache.openejb.core.security.jaas.LoginProvider;
+
+import javax.security.auth.login.FailedLoginException;
+import java.util.Arrays;
+import java.util.List;
+
+public class MyLoginProvider implements LoginProvider {
+
+
+ @Override
+ public List<String> authenticate(String user, String password) throws FailedLoginException {
+ if ("paul".equals(user) && "michelle".equals(password)) {
+ return Arrays.asList("Manager", "rockstar", "beatle");
+ }
+
+ if ("eddie".equals(user) && "jump".equals(password)) {
+ return Arrays.asList("Employee", "rockstar", "vanhalen");
+ }
+
+ throw new FailedLoginException("Bad user or password!");
+ }
+}
+</code></pre>
+
+<h2>org.apache.openejb.core.security.jaas.LoginProvider</h2>
+
+<pre><code>org.superbiz.injection.secure.MyLoginProvider
+</code></pre>
+
<h2>persistence.xml</h2>
<pre><code><persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
@@ -274,6 +307,7 @@ import javax.ejb.EJBAccessException;
import javax.ejb.embeddable.EJBContainer;
import javax.naming.Context;
import javax.naming.InitialContext;
+import javax.naming.NamingException;
import java.util.List;
import java.util.Properties;
@@ -282,11 +316,17 @@ public class MovieTest extends TestCase
@EJB
private Movies movies;
- protected void setUp() throws Exception {
+ private Context getContext(String user, String pass) throws NamingException {
+ Properties p = new Properties();
+ p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
+ p.setProperty("openejb.authentication.realmName", "ServiceProviderLogin");
+ p.put(Context.SECURITY_PRINCIPAL, user);
+ p.put(Context.SECURITY_CREDENTIALS, pass);
- // Uncomment this line to set the login/logout functionality on Debug
- //System.setProperty("log4j.category.OpenEJB.security", "debug");
+ return new InitialContext(p);
+ }
+ protected void setUp() throws Exception {
Properties p = new Properties();
p.put("movieDatabase", "new://Resource?type=DataSource");
p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
@@ -296,13 +336,7 @@ public class MovieTest extends TestCase
}
public void testAsManager() throws Exception {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- p.setProperty("openejb.authentication.realmName", "ServiceProviderLogin");
- p.put(Context.SECURITY_PRINCIPAL, "paul");
- p.put(Context.SECURITY_CREDENTIALS, "");
-
- InitialContext context = new InitialContext(p);
+ final Context context = getContext("paul", "michelle");
try {
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
@@ -323,13 +357,7 @@ public class MovieTest extends TestCase
}
public void testAsEmployee() throws Exception {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- p.setProperty("openejb.authentication.realmName", "ServiceProviderLogin");
- p.put(Context.SECURITY_PRINCIPAL, "eddie");
- p.put(Context.SECURITY_CREDENTIALS, "jump");
-
- InitialContext context = new InitialContext(p);
+ final Context context = getContext("eddie", "jump");
try {
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
@@ -380,6 +408,22 @@ public class MovieTest extends TestCase
}
}
+
+ public void testLoginFailure() throws NamingException {
+ try {
+ getContext("eddie", "panama");
+ fail("supposed to have a login failure here");
+ } catch (javax.naming.AuthenticationException e) {
+ //expected
+ }
+
+ try {
+ getContext("jimmy", "foxylady");
+ fail("supposed to have a login failure here");
+ } catch (javax.naming.AuthenticationException e) {
+ //expected
+ }
+ }
}
</code></pre>
@@ -471,6 +515,7 @@ Tests run: 3, Failures: 0, Errors: 0, Sk
<li><a href="http://docs.oracle.com/javaee/6/api/javax/ejb/embeddable/EJBContainer.html">javax.ejb.embeddable.EJBContainer</a></li>
<li><a href="http://docs.oracle.com/javaee/6/api/javax/naming/Context.html">javax.naming.Context</a></li>
<li><a href="http://docs.oracle.com/javaee/6/api/javax/naming/InitialContext.html">javax.naming.InitialContext</a></li>
+<li><a href="http://docs.oracle.com/javaee/6/api/javax/naming/NamingException.html">javax.naming.NamingException</a></li>
<li><a href="http://docs.oracle.com/javaee/6/api/javax/persistence/Entity.html">javax.persistence.Entity</a></li>
<li><a href="http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html">javax.persistence.EntityManager</a></li>
<li><a href="http://docs.oracle.com/javaee/6/api/javax/persistence/PersistenceContext.html">javax.persistence.PersistenceContext</a></li>
Modified: websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/main/java/org/superbiz/injection/secure/MyLoginProvider.java
==============================================================================
--- websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/main/java/org/superbiz/injection/secure/MyLoginProvider.java (original)
+++ websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/main/java/org/superbiz/injection/secure/MyLoginProvider.java Fri Jul 20 13:57:19 2012
@@ -27,7 +27,7 @@ public class MyLoginProvider implements
@Override
public List<String> authenticate(String user, String password) throws FailedLoginException {
- if ("paul".equals(user)) {
+ if ("paul".equals(user) && "michelle".equals(password)) {
return Arrays.asList("Manager", "rockstar", "beatle");
}
Modified: websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/test/java/org/superbiz/injection/secure/MovieTest.java
==============================================================================
--- websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/test/java/org/superbiz/injection/secure/MovieTest.java (original)
+++ websites/staging/openejb/trunk/content/examples-trunk/testing-security-3/src/test/java/org/superbiz/injection/secure/MovieTest.java Fri Jul 20 13:57:19 2012
@@ -23,6 +23,7 @@ import javax.ejb.EJBAccessException;
import javax.ejb.embeddable.EJBContainer;
import javax.naming.Context;
import javax.naming.InitialContext;
+import javax.naming.NamingException;
import java.util.List;
import java.util.Properties;
@@ -32,11 +33,17 @@ public class MovieTest extends TestCase
@EJB
private Movies movies;
- protected void setUp() throws Exception {
+ private Context getContext(String user, String pass) throws NamingException {
+ Properties p = new Properties();
+ p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
+ p.setProperty("openejb.authentication.realmName", "ServiceProviderLogin");
+ p.put(Context.SECURITY_PRINCIPAL, user);
+ p.put(Context.SECURITY_CREDENTIALS, pass);
- // Uncomment this line to set the login/logout functionality on Debug
- //System.setProperty("log4j.category.OpenEJB.security", "debug");
+ return new InitialContext(p);
+ }
+ protected void setUp() throws Exception {
Properties p = new Properties();
p.put("movieDatabase", "new://Resource?type=DataSource");
p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
@@ -46,13 +53,7 @@ public class MovieTest extends TestCase
}
public void testAsManager() throws Exception {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- p.setProperty("openejb.authentication.realmName", "ServiceProviderLogin");
- p.put(Context.SECURITY_PRINCIPAL, "paul");
- p.put(Context.SECURITY_CREDENTIALS, "");
-
- InitialContext context = new InitialContext(p);
+ final Context context = getContext("paul", "michelle");
try {
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
@@ -73,13 +74,7 @@ public class MovieTest extends TestCase
}
public void testAsEmployee() throws Exception {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
- p.setProperty("openejb.authentication.realmName", "ServiceProviderLogin");
- p.put(Context.SECURITY_PRINCIPAL, "eddie");
- p.put(Context.SECURITY_CREDENTIALS, "jump");
-
- InitialContext context = new InitialContext(p);
+ final Context context = getContext("eddie", "jump");
try {
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
@@ -130,5 +125,21 @@ public class MovieTest extends TestCase
}
}
+
+ public void testLoginFailure() throws NamingException {
+ try {
+ getContext("eddie", "panama");
+ fail("supposed to have a login failure here");
+ } catch (javax.naming.AuthenticationException e) {
+ //expected
+ }
+
+ try {
+ getContext("jimmy", "foxylady");
+ fail("supposed to have a login failure here");
+ } catch (javax.naming.AuthenticationException e) {
+ //expected
+ }
+ }
}
//END SNIPPET: code
Modified: websites/staging/openejb/trunk/content/sitemap.xml
==============================================================================
--- websites/staging/openejb/trunk/content/sitemap.xml (original)
+++ websites/staging/openejb/trunk/content/sitemap.xml Fri Jul 20 13:57:19 2012
@@ -803,6 +803,10 @@
<priority>0.9</priority>
</url>
<url>
+ <loc>http://tomee.apache.org/examples-trunk/testing-security-3/README.html</loc>
+ <priority>0.9</priority>
+ </url>
+ <url>
<loc>http://tomee.apache.org/examples-trunk/testing-security-meta/README.html</loc>
<priority>0.9</priority>
</url>