Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/server/LoginServlet.java @ 3370:08b2472111aa
New implementation of OverviewOutputTab which has a minimalistic chart toolbar and no chart theme panel. The overview image is fetched as single image from server.
flys-client/trunk@5078 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 20 Jul 2012 07:40:55 +0000 |
parents | 06d999e95615 |
children | 71ba3cf3ec5e |
line wrap: on
line source
package de.intevation.flys.client.server; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import de.intevation.flys.client.server.auth.Authentication; import de.intevation.flys.client.server.auth.AuthenticationException; import de.intevation.flys.client.server.auth.AuthenticationFactory; import de.intevation.flys.client.server.auth.User; import de.intevation.flys.client.server.auth.UserClient; public class LoginServlet extends HttpServlet { private static Logger logger = Logger.getLogger(LoginServlet.class); private void redirectFailure(HttpServletResponse resp) throws IOException { resp.sendRedirect("/login.jsp"); } private void redirectFailure(HttpServletResponse resp, Exception e) throws IOException { this.redirectFailure(resp, e.getMessage()); } private void redirectFailure(HttpServletResponse resp, String message) throws IOException { resp.sendRedirect("/login.jsp?error=" + message); } private void redirectSuccess(HttpServletResponse resp, String uri) throws IOException { if (uri == null) { uri = "/FLYS.html"; } resp.sendRedirect(uri); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { logger.debug("Processing get request"); this.redirectFailure(resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String encoding = req.getCharacterEncoding(); String username = req.getParameter("username"); String password = req.getParameter("password"); logger.debug("Processing post request"); if (username == null || password == null) { logger.debug("No username or password provided"); this.redirectFailure(resp); } try { Authentication aresp = this.auth(username, password, encoding); if (aresp == null || !aresp.isSuccess()) { logger.debug("Athentication not successful"); this.redirectFailure(resp); } User user = aresp.getUser(); String url = getServletContext().getInitParameter("server-url"); UserClient client = new UserClient(url); if (!client.userExists(user)) { if (!client.createUser(user)) { this.redirectFailure(resp, "Could not create new user"); } } HttpSession session = req.getSession(); session.setAttribute("user", user); String uri = (String)session.getAttribute("requesturi"); this.redirectSuccess(resp, uri); } catch(AuthenticationException e) { logger.error(e); this.redirectFailure(resp, e); } } private Authentication auth(String username, String password, String encoding) throws AuthenticationException, IOException { String auth = this.getServletContext().getInitParameter("authentication"); return AuthenticationFactory.getInstance(auth).auth(username, password, encoding); } }