Mercurial > dive4elements > river
view gwt-client/src/main/java/org/dive4elements/river/client/server/LoginServlet.java @ 7202:63fd11f57379
Cleaned imports, added todo about naming.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 30 Sep 2013 17:29:47 +0200 |
parents | ea9eef426962 |
children | 238fc722f87a |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.client.server; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.dive4elements.river.client.server.auth.Authentication; import org.dive4elements.river.client.server.auth.AuthenticationException; import org.dive4elements.river.client.server.auth.AuthenticationFactory; import org.dive4elements.river.client.server.features.Features; public class LoginServlet extends AuthenticationServlet { private static Logger logger = Logger.getLogger(LoginServlet.class); @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, req.getContextPath()); return; } try { Authentication aresp = this.auth(username, password, encoding); if (aresp == null || !aresp.isSuccess()) { logger.debug("Authentication not successful"); this.redirectFailure(resp, req.getContextPath()); return; } this.performLogin(req, resp, aresp.getUser()); } catch(AuthenticationException e) { logger.error(e, e); this.redirectFailure(resp, req.getContextPath(), e); } } private Authentication auth(String username, String password, String encoding) throws AuthenticationException, IOException { ServletContext sc = this.getServletContext(); Features features = (Features)sc.getAttribute(Features.CONTEXT_ATTRIBUTE); String auth = sc.getInitParameter("authentication"); return AuthenticationFactory.getInstance(auth).auth(username, password, encoding, features, sc); } }