diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/juick/www/controllers/Login.java | 69 | ||||
-rw-r--r-- | src/main/java/com/juick/www/controllers/Site.java | 33 |
2 files changed, 33 insertions, 69 deletions
diff --git a/src/main/java/com/juick/www/controllers/Login.java b/src/main/java/com/juick/www/controllers/Login.java deleted file mode 100644 index f78ccef0..00000000 --- a/src/main/java/com/juick/www/controllers/Login.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2008-2020, Juick - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package com.juick.www.controllers; - -import com.juick.model.User; -import com.juick.service.UserService; -import com.juick.service.security.annotation.Visitor; - -import jakarta.servlet.http.HttpSession; - -import org.springframework.security.core.AuthenticationException; -import org.springframework.security.web.WebAttributes; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -import javax.inject.Inject; - -/** - * @author Ugnich Anton - */ -@Controller -public class Login { - @Inject - private UserService userService; - - @GetMapping("/login") - public String getloginForm(@Visitor User visitor, HttpSession session, - @RequestParam(required = false, defaultValue = "true") boolean redirect, ModelMap model) { - if (!visitor.isAnonymous()) { - return redirect ? "redirect:/" : "redirect:/login/success"; - } - AuthenticationException authEx = (AuthenticationException) session - .getAttribute(WebAttributes.AUTHENTICATION_EXCEPTION); - - if (authEx != null) { - model.addAttribute("authErrorMessage", authEx.getLocalizedMessage()); - } - - String socialLoginError = (String) session.getAttribute(SocialLogin.AUTH_ERROR); - - if (socialLoginError != null) { - model.addAttribute("authErrorMessage", socialLoginError); - } - - return "layouts/login"; - } - - @GetMapping("/login/success") - public String getSuccessLogin(@Visitor User visitor, ModelMap model) { - model.addAttribute("hash", userService.getHashByUID(visitor.getUid())); - return "views/login_success"; - } -} diff --git a/src/main/java/com/juick/www/controllers/Site.java b/src/main/java/com/juick/www/controllers/Site.java index 46440b2b..a0b8c5b0 100644 --- a/src/main/java/com/juick/www/controllers/Site.java +++ b/src/main/java/com/juick/www/controllers/Site.java @@ -26,6 +26,7 @@ import com.juick.util.WebUtils; import com.juick.www.WebApp; import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpSession; import com.juick.service.*; import com.juick.service.security.annotation.Visitor; @@ -36,6 +37,8 @@ import org.apache.commons.text.StringEscapeUtils; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.WebAttributes; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.CookieValue; @@ -92,6 +95,36 @@ public class Site { .map(t -> t.getTag().getName()).collect(Collectors.toList())); } + @GetMapping("/login") + public String getloginForm(@Visitor User visitor, HttpSession session, + @RequestParam(required = false, defaultValue = "true") boolean redirect, ModelMap model) { + if (!visitor.isAnonymous()) { + return redirect ? "redirect:/" : "redirect:/login/success"; + } + model.addAttribute("visitor", visitor); + model.addAttribute("tags", tagService.getPopularTags()); + AuthenticationException authEx = (AuthenticationException) session + .getAttribute(WebAttributes.AUTHENTICATION_EXCEPTION); + + if (authEx != null) { + model.addAttribute("authErrorMessage", authEx.getLocalizedMessage()); + } + + String socialLoginError = (String) session.getAttribute(SocialLogin.AUTH_ERROR); + + if (socialLoginError != null) { + model.addAttribute("authErrorMessage", socialLoginError); + } + + return "views/login"; + } + + @GetMapping("/login/success") + public String getSuccessLogin(@Visitor User visitor, ModelMap model) { + model.addAttribute("hash", userService.getHashByUID(visitor.getUid())); + return "views/login_success"; + } + @GetMapping("/") protected String doGet(@Visitor User visitor, Locale locale, @RequestParam(required = false) String tag, @RequestParam(name = "show", required = false) String paramShow, |