Update of
/var/cvs/contributions/CMSContainer/cmsc/utilities/src/java/com/finalist/cmsc/struts
In directory
james.mmbase.org:/tmp/cvs-serv22432/cmsc/utilities/src/java/com/finalist/cmsc/struts
Modified Files:
TreeAction.java MMBaseAction.java
Log Message:
CMSC-1340 Handle an Ajax request from the site tree and repository if the user
is no longer authorized. Redirect him/her to the login page instead of showing
a nonsense popup.
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/utilities/src/java/com/finalist/cmsc/struts
See also: http://www.mmbase.org/jira/browse/CMSC-1340
Index: TreeAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/utilities/src/java/com/finalist/cmsc/struts/TreeAction.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- TreeAction.java 25 Feb 2009 13:43:18 -0000 1.8
+++ TreeAction.java 8 Apr 2009 15:05:28 -0000 1.9
@@ -9,6 +9,7 @@
*/
package com.finalist.cmsc.struts;
+import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
@@ -20,6 +21,8 @@
import org.apache.struts.action.*;
import org.mmbase.bridge.Cloud;
import org.mmbase.bridge.Node;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
import com.finalist.cmsc.mmbase.TreeUtil;
import com.finalist.cmsc.util.HttpUtil;
@@ -28,6 +31,9 @@
public abstract class TreeAction extends MMBaseAction {
+ /** MMbase logging system */
+ private static final Logger log =
Logging.getLoggerInstance(TreeAction.class);
+
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response, Cloud cloud) throws Exception {
@@ -98,6 +104,19 @@
return ret;
}
+ @Override
+ protected ActionForward redirectLogin(HttpServletRequest req,
HttpServletResponse resp) {
+ try {
+ resp.sendError(HttpServletResponse.SC_UNAUTHORIZED);
+
+ return null;
+ } catch (IOException e) {
+ log.error("Failed to handle redirecting to the login page", e);
+ }
+
+ return super.redirectLogin(req, resp);
+ }
+
protected String getChannelId(HttpServletRequest request, Cloud cloud) {
return request.getParameter("channel");
Index: MMBaseAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/utilities/src/java/com/finalist/cmsc/struts/MMBaseAction.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- MMBaseAction.java 10 Sep 2008 12:45:42 -0000 1.11
+++ MMBaseAction.java 8 Apr 2009 15:05:28 -0000 1.12
@@ -52,7 +52,7 @@
}
}
else {
- return redirectLogin(request);
+ return redirectLogin(request, response);
}
}
}
@@ -64,7 +64,7 @@
Rank requiredRank = getRequiredRank();
if (requiredRank != null) {
if (requiredRank.getInt() > cloud.getUser().getRank().getInt()) {
- return redirectLogin(request);
+ return redirectLogin(request, response);
}
}
}
@@ -109,7 +109,15 @@
}
+ /**
+ * @deprecated Use {...@link #redirectLogin(HttpServletRequest,
HttpServletResponse)} instead.
+ */
protected ActionForward redirectLogin(HttpServletRequest req) {
+ return redirectLogin(req, null);
+ }
+
+
+ protected ActionForward redirectLogin(HttpServletRequest req,
HttpServletResponse resp) {
// could not create a cloud on the session
String loginForward = "/editors/login.jsp";
String referrer = req.getRequestURL().toString()
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs