aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/www/controllers/Login.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2020-04-03 21:40:51 +0300
committerGravatar Vitaly Takmazov2020-04-03 21:40:51 +0300
commit1b93e5b16ee5bc7253f3b06639fb9e9abb46acd0 (patch)
tree6c9606b5ce3cdf3740802c91f889c6b66925cf1d /src/main/java/com/juick/www/controllers/Login.java
parentaf1970a767b96893c6f46edb6632ec9abf6b3933 (diff)
Extract sape code into ControllerAdvice
Diffstat (limited to 'src/main/java/com/juick/www/controllers/Login.java')
-rw-r--r--src/main/java/com/juick/www/controllers/Login.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/main/java/com/juick/www/controllers/Login.java b/src/main/java/com/juick/www/controllers/Login.java
new file mode 100644
index 00000000..8bc8e340
--- /dev/null
+++ b/src/main/java/com/juick/www/controllers/Login.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2008-2019, 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 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,
+ @RequestParam(required = false, defaultValue = "true") boolean redirect) {
+ if (!visitor.isAnonymous()) {
+ return redirect ? "redirect:/" : "redirect:/login/success";
+ }
+ 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";
+ }
+}