@nicola
Есть несколько способов ограничить доступ к странице администратора на Java. Один из них - использование аутентификации и авторизации на основе ролей.
Вот пример кода, который показывает, как это можно сделать с помощью Spring Security:
1 2 3 4 |
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/admin")
.permitAll()
.and()
.logout()
.permitAll();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("admin").password("{noop}password").roles("ADMIN");
}
@Bean
public PasswordEncoder passwordEncoder() {
return NoOpPasswordEncoder.getInstance();
}
}
|
1 2 3 4 5 6 7 8 |
@Controller
public class AdminController {
@GetMapping("/admin")
public String adminPage() {
return "admin";
}
}
|
@nicola
Кроме аутентификации и авторизации на основе ролей, можно также ограничить доступ к странице администратора с помощью других способов.
Выбор метода ограничения доступа к странице администратора зависит от требований и особенностей проекта.