登录
相当部分都是框架,没啥个人要写的。
<form class="ui large form" method="post" action="#" th:action="@{/admin/login}">
<div class="ui segment">
<div class="field">
<div class="ui left icon input">
<i class="user icon"></i>
<input type="text" name="username" placeholder="用户名">
</div>
</div>
<div class="field">
<div class="ui left icon input">
<i class="lock icon"></i>
<input type="password" name="password" placeholder="密码">
</div>
</div>
<button class="ui fluid large teal submit button">登 录</button>
</div>
<div class="ui error mini message"></div>
<div class="ui mini negative message" th:unless="${#strings.isEmpty(message)}" th:text="${message}">用户名和密码错误</div>
</form>
@PostMapping("/login")
public String login(String username, String password, HttpSession session, RedirectAttributes redirectAttributes){
User user = userService.checkUser(username, password);
if(user!=null){
session.setAttribute("user",user);
return "admin/index";
}else{
redirectAttributes.addFlashAttribute("message","用户名或密码错误");
return "redirect:/admin";
}
}
User findByUsernameAndPassword(String username, String password);
这部分完全不知道什么原理,靠名字就完成sql语句?
登出
<div class="menu">
<a href="#" th:href="@{/admin/logout}" class="item">注销</a>
</div>
@GetMapping("/logout")
public String logout(HttpSession session){
session.removeAttribute("user");
return "admin/login";
}