Как настроить роль администратора, которая может получить доступ ко всем URL в весенней безопасности - PullRequest
0 голосов
/ 27 ноября 2018

сначала все URL-адрес судьи, затем роль, например,

http.authorizeRequests()
    .antMatchers("/aaa/xxx").permitAll()
    .antMatchers("/aaa/yyy").hasAnyRole("MANAGER")
    .antMatchers("/aaa/ccc").hasAnyRole("WORKER")

, но сначала я хочу роль судьи, например,

http.authorizeRequests()
    // first judge role
    .hasAnyRole("ADMIN").permitAll()
    // then judge url 
    .antMatchers("/aaa/yyy").hasAnyRole("MANAGER")
    .antMatchers("/aaa/ccc").hasAnyRole("WORKER")

Сначала я хочу судить о роли.если роль не является ADMIN, тогда оцените URL и его роль.

Я хочу, чтобы ADMIN мог получить доступ как к "/ aaa / yyy" и "/ aaa / ccc", так и к другим.

есть глупый способ реализовать, то есть добавить все "ADMIN" во все методы hasAnyRole (), как это

http.authorizeRequests()
    .antMatchers("/aaa/yyy").hasAnyRole("ADMIN","MANAGER")
    .antMatchers("/aaa/ccc").hasAnyRole("ADMIN","WORKER")
    # .... there is many many antMatchers() need add "ADMIN"

Мне не нужен путь, мне нужен другой лучшийспособ.

1 Ответ

0 голосов
/ 27 ноября 2018
http.authorizeRequests()
    .antMatchers("/aaa/yyy").hasAnyRole("MANAGER")
    .antMatchers("/aaa/ccc").hasAnyRole("WORKER") //you can put here many roles .hasAnyRole("WORKER", "MANAGER")
    .anyRequest().hasAnyRole("MANAGER")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...