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 {


Reply via email to