帮我找一个使用SpringBoot以及SpringSecurity实现登录的代码
时间: 2023-06-04 21:05:27 浏览: 56
好的,这是一段使用SpringBoot和SpringSecurity实现登录的代码示例:
```java
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class LoginController {
@GetMapping("/")
public String root() {
return "index";
}
@GetMapping("/login")
public String login() {
return "login";
}
@PostMapping("/login")
@ResponseBody
public String doLogin() {
return "登录成功";
}
@GetMapping("/user")
public String user(Model model) {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
UserDetails userDetails = (UserDetails) authentication.getPrincipal();
model.addAttribute("username", userDetails.getUsername());
return "user";
}
@GetMapping("/admin")
public String admin(Model model) {
return "admin";
}
public static void main(String[] args) {
PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String encodedPassword = passwordEncoder.encode("123456");
System.out.println(encodedPassword);
}
}
```
在这段代码中,使用了SpringBoot和SpringSecurity实现了一个简单的登录功能。用户访问"/login"路径时会跳转到登录页面,输入正确的用户名和密码后会跳转到"/user"或"/admin"页面,用户和管理员拥有不同的权限。密码使用了BCryptPasswordEncoder进行加密处理。