+ if (serverPort == 80) {
+ redirect = res.encodeURL(http + "://" + req.getServerName() + target);
+ redirectString = "<html><head><meta http-equiv=refresh content=\"1;URL="
+ + redirect
+ + "\"></head><body>going <a href=\"" + redirect + "\">Mir</a></body></html>";
+ }
+ else {
+ redirect = res.encodeURL(http + "://" + req.getServerName() + ":" + req.getServerPort() + target);
+ redirectString = "<html><head><meta http-equiv=refresh content=\"1;URL="
+ + redirect
+ + "\"></head><body>going <a href=\"" + redirect + "\">Mir</a></body></html>";
+ }
+ res.getWriter().println(redirectString);
+
+
+ //res.sendRedirect(redirect);
+
+ }
+ else {
+ // redirecting to default target
+ theLog.printDebugInfo("--login: no target - redirecting to default");
+ _sendStartPage(res, req, res.getWriter(), userEntity);
+ }
+ return;
+ } // if login succesful
+ } // if login
+
+ if (moduleName != null && moduleName.equals("logout")) {
+ theLog.printDebugInfo("--logout");
+ session.invalidate();
+
+ //session = req.getSession(true);
+ //checkLanguage(session, req);
+ _sendLoginPage(res, req, res.getWriter());
+ return;
+ }
+
+ // Check if authed!
+ EntityUsers userEntity = (EntityUsers) session.getAttribute("login.uid");
+ if (userEntity == null) {
+ // redirect to loginpage
+ String redirectString = req.getRequestURI();
+ String queryString = req.getQueryString();
+ if (queryString != null && !queryString.equals("")) {
+ redirectString += "?" + req.getQueryString();
+ theLog.printDebugInfo("STORING: " + redirectString);
+ session.setAttribute("login.target", redirectString);
+ }
+ _sendLoginPage(res, req, res.getWriter());
+ return;
+ }
+
+ // If no module is specified goto standard startpage
+ if (moduleName == null || moduleName.equals("")) {
+ theLog.printDebugInfo("no module: redirect to standardpage");
+ _sendStartPage(res, req, res.getWriter(), userEntity);
+ return;
+ }
+ // end of auth
+
+ // From now on regular dispatching...
+ try {
+ // get servletmodule by parameter and continue with dispacher
+ ServletModule smod = getServletModuleForName(moduleName);
+ ServletModuleDispatch.dispatch(smod, req, res);
+ }
+ catch (ServletModuleException e) {
+ handleError(req, res, res.getWriter(),
+ "ServletException in Module " + moduleName + " -- " + e.toString());
+ }
+ catch (ServletModuleUserException e) {
+ handleUserError(req, res, res.getWriter(), "User error" + e.toString());
+ }
+
+ // timing...
+ sessionConnectTime = System.currentTimeMillis() - startTime;
+ theLog.printInfo("EXECTIME (" + moduleName + "): " + sessionConnectTime + " ms");