[gatein-commits] gatein SVN: r7260 - in portal/trunk/webui/portal/src/main/java/org/exoplatform/portal: webui/page and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Aug 31 05:41:08 EDT 2011


Author: ndkhoiits
Date: 2011-08-31 05:41:08 -0400 (Wed, 31 Aug 2011)
New Revision: 7260

Modified:
   portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
   portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java
   portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageActionListener.java
Log:
GTNPORTAL-2040 Cannot access portal if the permission is not 'public'

Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java	2011-08-31 06:57:26 UTC (rev 7259)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java	2011-08-31 09:41:08 UTC (rev 7260)
@@ -101,6 +101,8 @@
    final static public String REQUEST_METADATA = "portal:requestMetadata".intern();
 
    final static private String LAST_PORTAL_NAME = "prc.lastPortalName";
+   
+   final static private String DO_LOGIN_PATTERN = "dologin";
 
    /** The path decoded from the request. */
    private final String nodePath_;
@@ -331,6 +333,12 @@
       appRes_ = getApplication().getResourceBundle(getLocale());
    }
 
+   public void requestAuthenticationLogin() throws Exception
+   {
+      String doLoginPath = request_.getContextPath() + "/" + DO_LOGIN_PATTERN + "?initialURI=" + request_.getRequestURI();
+      sendRedirect(doLoginPath);
+   }
+
    public String getTitle() throws Exception
    {
       String title = (String)request_.getAttribute(REQUEST_TITLE);

Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java	2011-08-31 06:57:26 UTC (rev 7259)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java	2011-08-31 09:41:08 UTC (rev 7260)
@@ -21,7 +21,10 @@
 
 import org.exoplatform.commons.utils.I18N;
 import org.exoplatform.commons.utils.Safe;
+import org.exoplatform.container.PortalContainer;
+import org.exoplatform.portal.config.DataStorage;
 import org.exoplatform.portal.config.StaleModelException;
+import org.exoplatform.portal.config.model.PortalConfig;
 import org.exoplatform.services.log.ExoLogger;
 import org.exoplatform.services.log.Log;
 import org.exoplatform.web.ControllerContext;
@@ -130,7 +133,20 @@
       PortalRequestContext context = new PortalRequestContext(app, controllerContext, requestSiteType, requestSiteName, requestPath, requestLocale);
       if (context.getUserPortalConfig() == null)
       {
-         context.sendError(HttpServletResponse.SC_NOT_FOUND);
+         DataStorage storage = (DataStorage)PortalContainer.getComponent(DataStorage.class);
+         PortalConfig persistentPortalConfig = storage.getPortalConfig(requestSiteType, requestSiteName);
+         if (persistentPortalConfig == null)
+         {
+            context.sendError(HttpServletResponse.SC_NOT_FOUND);
+         }
+         else if(req.getRemoteUser() == null)
+         {
+            context.requestAuthenticationLogin();
+         }
+         else
+         {
+            context.sendError(HttpServletResponse.SC_FORBIDDEN);
+         }
       }
       else
       {

Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageActionListener.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageActionListener.java	2011-08-31 06:57:26 UTC (rev 7259)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageActionListener.java	2011-08-31 09:41:08 UTC (rev 7260)
@@ -87,8 +87,7 @@
                      if (targetNode != null)
                      {
                         uiPortalApp.setLastRequestURI(null);
-                        String doLoginPath = pcontext.getRequest().getContextPath() + "/dologin?initialURI=" + pcontext.getRequestURI();
-                        pcontext.sendRedirect(doLoginPath);
+                        pcontext.requestAuthenticationLogin();
                         return;
                      }
                   }



More information about the gatein-commits mailing list