Springboot学习日记一,登录注销+密码加密
application.yml
server:
port: 8081
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/aaa?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username: root
password: 123456
thymeleaf:
mode: HTML
jpa:
hibernate:
ddl-auto: update
show-sql: true
Controller
@Controller
@RequestMapping("/admin")
public class LoginController {
@Autowired
private IUserService userService;
@GetMapping
public String toLogin(){
return "admin/login";
}
@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";
}
}
@GetMapping("/logout")
public String logout(HttpSession session){
session.removeAttribute("user");
return "admin/login";
}
}
Service
@Service
public class UserServiceimpl implements IUserService {
@Autowired
private UserDao userDao;
@Override
public User checkUser(String username, String password) {
return userDao.findByUsernameAndPassword(username,MD5Util.code(password));
}
}
UserDao
public interface UserDao extends JpaRepository<User,Long> {
User findByUsernameAndPassword(String username, String password);
}
IUserService
public interface IUserService {
User checkUser(String username,String password);
}