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 {