You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/10/18 10:06:57 UTC

svn commit: r1533353 - in /openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web: app/WebSession.java pages/BaseInitedPage.java pages/MainPage.java pages/auth/SignInPage.java

Author: solomax
Date: Fri Oct 18 08:06:57 2013
New Revision: 1533353

URL: http://svn.apache.org/r1533353
Log:
[OPENMEETINGS-818] Room enter via secureHash is fixed

Modified:
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/MainPage.java
    openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java

Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java?rev=1533353&r1=1533352&r2=1533353&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/app/WebSession.java Fri Oct 18 08:06:57 2013
@@ -48,15 +48,21 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.TimezoneUtil;
 import org.apache.openmeetings.util.AuthLevelUtil;
+import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.user.dashboard.PrivateRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.StartWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.WelcomeWidgetDescriptor;
 import org.apache.openmeetings.web.util.OmUrlFragment;
+import org.apache.wicket.RestartResponseAtInterceptPageException;
 import org.apache.wicket.authentication.IAuthenticationStrategy;
 import org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
 import org.apache.wicket.authroles.authorization.strategies.role.Roles;
+import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.Request;
+import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
 
 import ro.fortsoft.wicket.dashboard.Dashboard;
@@ -103,6 +109,22 @@ public class WebSession extends Abstract
 			if (AuthLevelUtil.checkAdminLevel(userLevel)) {
 				r.add(Roles.ADMIN);
 			}
+		} else {
+			try {
+				IRequestParameters params = RequestCycle.get().getRequest().getRequestParameters();
+				StringValue secureHash = params.getParameterValue("secureHash");
+				if (!secureHash.isEmpty()) {
+					PageParameters pp = new PageParameters();
+					for (String p : params.getParameterNames()) {
+						pp.add(p, params.getParameterValues(p));
+					}
+					throw new RestartResponseAtInterceptPageException(SwfPage.class, pp);
+				}
+			} catch (RestartResponseAtInterceptPageException e) {
+				throw e;
+			} catch (Exception e) {
+				//no-op, will continue to sign-in page
+			}
 		}
 		return r;
 	}

Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/BaseInitedPage.java?rev=1533353&r1=1533352&r2=1533353&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/BaseInitedPage.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/BaseInitedPage.java Fri Oct 18 08:06:57 2013
@@ -23,21 +23,10 @@ import static org.apache.openmeetings.we
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.entity.label.FieldLanguage;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.util.string.StringValue;
 
 public abstract class BaseInitedPage extends BasePage {
 	private static final long serialVersionUID = 5716753033219700254L;
 
-	public BaseInitedPage(PageParameters pp) {
-		if (pp != null) {
-			StringValue hash = pp.get("secureHash");
-			if (!hash.isEmpty()) {
-				setResponsePage(SwfPage.class, pp);
-			}
-		}
-	}
-	
 	@Override
 	protected String getApplicationName() {
 		return getBean(ConfigurationDao.class).getAppName();

Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/MainPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/MainPage.java?rev=1533353&r1=1533352&r2=1533353&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/MainPage.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/MainPage.java Fri Oct 18 08:06:57 2013
@@ -66,12 +66,8 @@ public class MainPage extends BaseInited
 	private final AbstractAjaxTimerBehavior areaBehavior;
 	private DebugBar dev = null;
 	
-	public MainPage() {
-		this(null);
-	}
-	
 	public MainPage(PageParameters pp) {
-		super(pp);
+		super();
 		contents = new WebMarkupContainer("contents");
 		add(contents.add(new WebMarkupContainer(CHILD_ID)).setOutputMarkupId(true).setMarkupId("contents"));
 		menu = new MenuPanel("menu");

Modified: openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java?rev=1533353&r1=1533352&r2=1533353&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java (original)
+++ openmeetings/trunk/singlewebapp/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java Fri Oct 18 08:06:57 2013
@@ -84,7 +84,7 @@ public class SignInPage extends BaseInit
 	}
 	
 	public SignInPage(PageParameters p) {
-		super(p);
+		super();
 		if (p != null) {
 			if (p.get("oauthid").toString() != null) { // oauth2 login
 				try {