@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
Кроме аутентификации и авторизации на основе ролей, можно также ограничить доступ к странице администратора с помощью других способов.
Выбор метода ограничения доступа к странице администратора зависит от требований и особенностей проекта.