1、设计一个注册和登录功能,自定义一个登陆验证的控制器,实现正确登陆跳转至欢迎页面,错误登陆跳转至注册页面的基本功能。 2、根据自己兴趣,定义其它控制器,通过注解,实现相应功能。
时间: 2023-10-05 09:08:16 浏览: 75
1、注册和登录功能的实现可以使用Spring Security框架,这里给出一个简单的示例:
首先,添加Spring Security依赖:
```
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
```
然后,创建一个配置类:
```
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private PasswordEncoder passwordEncoder;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/welcome").authenticated()
.anyRequest().permitAll()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/welcome")
.failureUrl("/register")
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/")
.invalidateHttpSession(true)
.deleteCookies("JSESSIONID");
}
}
```
这里定义了一个自定义的UserDetailsService和PasswordEncoder,分别用于查询用户信息和加密密码。configure方法中定义了访问控制和登录相关的配置。
接着,创建一个登陆验证的控制器:
```
@Controller
public class LoginController {
@GetMapping("/login")
public String login() {
return "login";
}
}
```
这里返回了一个login页面,用于用户输入用户名和密码。
最后,定义一个欢迎页面的控制器:
```
@Controller
public class WelcomeController {
@GetMapping("/welcome")
public String welcome() {
return "welcome";
}
}
```
2、根据个人兴趣,可以定义各种不同的控制器,例如:
```
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
@RestController
public class TimeController {
@GetMapping("/time")
public String time() {
return LocalDateTime.now().toString();
}
}
```
这里定义了一个返回“Hello, World!”的控制器和一个返回当前时间的控制器。使用@RestController注解表示返回的是JSON格式的数据。
阅读全文