[portal-commits] JBoss Portal SVN: r11919 - in branches/JBoss_Portal_Branch_2_7/core-cms/src: resources/portal-cms-war/WEB-INF/jsp/cms/admin and 1 other directory.

portal-commits at lists.jboss.org portal-commits at lists.jboss.org
Wed Sep 17 11:57:57 EDT 2008


Author: mputz
Date: 2008-09-17 11:57:56 -0400 (Wed, 17 Sep 2008)
New Revision: 11919

Added:
   branches/JBoss_Portal_Branch_2_7/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/accessdenied.jsp
Modified:
   branches/JBoss_Portal_Branch_2_7/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
Log:
JBPORTAL-2169: CMS security console offers no way back if access is denied

Modified: branches/JBoss_Portal_Branch_2_7/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java	2008-09-17 15:56:22 UTC (rev 11918)
+++ branches/JBoss_Portal_Branch_2_7/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java	2008-09-17 15:57:56 UTC (rev 11919)
@@ -158,7 +158,7 @@
       //check and make sure the CMSAdminPortlet is accessible to the current user
       if (!this.isPortletAccessible(rReq))
       {
-         this.showAccessDeniedScreen(rRes);
+         this.showAccessDeniedScreen(rReq, rRes);
          return;
       }
 
@@ -168,7 +168,7 @@
       {
          if (!this.isSecurityConsoleAccessible(rReq))
          {
-            this.showAccessDeniedScreen(rRes);
+            this.showAccessDeniedScreen(rReq, rRes);
             return;
          }
       }
@@ -177,7 +177,7 @@
       {
          if (rReq.getParameter("accessDenied") != null)
          {
-            this.showAccessDeniedScreen(rRes);
+            this.showAccessDeniedScreen(rReq, rRes);
          }
          else
          {
@@ -188,7 +188,7 @@
       {
          if (e.toString().indexOf("Access to this resource is denied") != -1)
          {
-            this.showAccessDeniedScreen(rRes);
+            this.showAccessDeniedScreen(rReq, rRes);
          }
          else
          {
@@ -202,23 +202,24 @@
     * @param renderResponse
     * @throws IOException
     */
-   private void showAccessDeniedScreen(JBossRenderResponse renderResponse) throws IOException
+   private void showAccessDeniedScreen(JBossRenderRequest rReq, JBossRenderResponse rRes) throws IOException, PortletException
    {
-      renderResponse.setContentType("text/html");
-      PrintWriter writer = null;
-      try
-      {
-         writer = renderResponse.getWriter();
-         String sHTML = "<h2>Access Denied</h2>";
-         writer.write(sHTML);
-      }
-      finally
-      {
-         if(writer != null)
+         try
          {
-            writer.close();
+            String sPath = rReq.getParameter("path");
+            String sOp = rReq.getParameter("returnOp");
+	
+   
+            rRes.setContentType("text/html");
+            rReq.setAttribute("path", sPath);
+            rReq.setAttribute("returnOp", sOp);
+            javax.portlet.PortletRequestDispatcher prd = getPortletContext().getRequestDispatcher(CMSAdminConstants.CMS_JSP_PATH + "/accessdenied.jsp");
+            prd.include(rReq, rRes);
          }
-      }
+         catch(Exception e)
+         {
+            throw new PortletException(e);
+         }	   
    }
 
    private void internalDoView(JBossRenderRequest rReq, JBossRenderResponse rRes)

Added: branches/JBoss_Portal_Branch_2_7/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/accessdenied.jsp
===================================================================
--- branches/JBoss_Portal_Branch_2_7/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/accessdenied.jsp	                        (rev 0)
+++ branches/JBoss_Portal_Branch_2_7/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/accessdenied.jsp	2008-09-17 15:57:56 UTC (rev 11919)
@@ -0,0 +1,38 @@
+<%@ page import="org.jboss.portal.core.cms.ui.admin.CMSAdminConstants" %>
+<%@ page language="java" extends="org.jboss.portal.core.servlet.jsp.PortalJsp" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<%@ taglib uri="/WEB-INF/portal-lib.tld" prefix="n" %>
+<%@ page isELIgnored="false" %>
+
+<portlet:defineObjects/>
+<%
+   String sBackPath = (String)request.getAttribute("path");
+   String OP = CMSAdminConstants.OP_MAIN;
+%>
+<link rel="stylesheet" type="text/css" href="/portal-admin/css/style.css" media="screen"/>
+<div class="admin-ui">
+   <br/>
+   <h3 class="sectionTitle-blue">${n:i18n("TITLE_SECURECONFIRM")}</h3>
+   <div class=" cms-tab-container">
+      <table width="100%">
+
+         <tr>
+            <td class="portlet-section-body" align="center">
+		<h2>${n:i18n("CMS_ACCESS_DENIED")}</h2>
+	   </td>
+	</tr>
+	<tr>
+            <td class="portlet-section-body" align="center">
+               <form name="accessdeniedform" method="post">
+		   <input class="portlet-form-button" type="button" value="${n:i18n("CMS_BACKTOBROWSER")}"
+			  name="back"
+			  onclick="window.location='<portlet:renderURL><portlet:param name="op" value="<%= CMSAdminConstants.OP_MAIN %>"/><portlet:param name="path" value="<%= sBackPath %>"/></portlet:renderURL>'">
+               </form>
+            </td>
+         </tr>
+      </table>
+      <br/><br/>
+
+
+   </div>
+</div>
\ No newline at end of file




More information about the portal-commits mailing list