X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2FLoginPage.java;h=4abe3950d4debb737275f6b2a83d68be5d364cd5;hb=785fe6cd9e7c9116b801aafc443b4f090cce870c;hp=2dde41299251b9c0a9a35e704fbf58302896377f;hpb=81c3923478c6f76750f1ab538a1a38f8a62aa1f8;p=gigi.git diff --git a/src/org/cacert/gigi/pages/LoginPage.java b/src/org/cacert/gigi/pages/LoginPage.java index 2dde4129..4abe3950 100644 --- a/src/org/cacert/gigi/pages/LoginPage.java +++ b/src/org/cacert/gigi/pages/LoginPage.java @@ -14,6 +14,7 @@ import javax.servlet.http.HttpSession; import org.cacert.gigi.User; import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.localisation.Language; import org.cacert.gigi.util.PasswordHash; public class LoginPage extends Page { @@ -71,10 +72,7 @@ public class LoginPage extends Page { ResultSet rs = ps.executeQuery(); if (rs.next()) { if (PasswordHash.verifyHash(pw, rs.getString(1))) { - req.getSession().invalidate(); - HttpSession hs = req.getSession(); - hs.setAttribute(LOGGEDIN, true); - hs.setAttribute(USER, new User(rs.getInt(2))); + loginSession(req, new User(rs.getInt(2))); } } rs.close(); @@ -94,10 +92,7 @@ public class LoginPage extends Page { ps.setString(1, serial); ResultSet rs = ps.executeQuery(); if (rs.next()) { - req.getSession().invalidate(); - HttpSession hs = req.getSession(); - hs.setAttribute(LOGGEDIN, true); - hs.setAttribute(USER, new User(rs.getInt(1))); + loginSession(req, new User(rs.getInt(1))); } rs.close(); } catch (SQLException e) { @@ -105,6 +100,14 @@ public class LoginPage extends Page { } } + private void loginSession(HttpServletRequest req, User user) { + req.getSession().invalidate(); + HttpSession hs = req.getSession(); + hs.setAttribute(LOGGEDIN, true); + hs.setAttribute(Language.SESSION_ATTRIB_NAME, user.getPreferredLocale()); + hs.setAttribute(USER, user); + } + @Override public boolean isPermitted(User u) { return u == null;