Ролевая безопасность весной - PullRequest
0 голосов
/ 12 октября 2018

У меня есть сценарий использования, где я должен ограничить пользователей с какой-то ролью вместо шаблона url фиксированным набором IP-адресов.Например: пользователь с ролью супер-администратора может получить доступ только с ip-адресов 1.1.1.1, 2.2.2.2 и т. Д. Я должен реализовать его как для аутентификации, так и для авторизации.

1 Ответ

0 голосов
/ 12 октября 2018

Вы можете сделать это, как показано ниже, добавив методы hasRole и hasIpAddress.

    @Configuration
    @EnableWebSecurity
    public class MyWebSecurityConfig extends WebSecurityConfigurerAdapter {

        @Override
        protected void configure(HttpSecurity http) throws Exception {

            http
                .authorizeRequests()
                    .antMatchers("/admin/**").access("hasRole('admin') and hasIpAddress('127.0.0.1')")
                    .antMatchers("/admin/**").access("hasRole('admin') and hasIpAddress('192.168.1.0/24')")
                    .antMatchers("/admin/**").access("hasRole('admin') and hasIpAddress('0:0:0:0:0:0:0:1')");
        }

    }

Полный пост: https://stackoverflow.com/a/44304683/6572971

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...