Нужно заблокировать доступ к некоторым роутам в зависимости от роли. Пересмотрел около 5-7 гайдов по Spring MVC Security, роуты blog/{id}
, blog/new
должны быть доступны только админу, однако у меня на эти роуты может заходить любой, даже не авторизованный пользователь.
Авторизация работает правильно, роли подтягиваются в объект principal
- проверял отладкой. Пробовал и с hasRole('ROLE_ADMIN')
, и c hasAuthority('ROLE_ADMIN')
- оба варианта игнорируются.
Думаю, возможно где-то нужно что-то включить, чтобы antMatchers().access()
работал?
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http
.authorizeRequests()
.antMatchers("/", "/blog", "/blog/{id}", "/author", "/account").permitAll()
.antMatchers("/blog/edit/{blogId}", "/blog/new").access("hasAuthority('ROLE_ADMIN')")
.and()
.exceptionHandling().accessDeniedPage("/403")
.and()
//form login, logout
Так проверял наличие ролей у авторизованного пользователя
@GetMapping("/userInfo")
public String getUserInfo(Model model, Principal principal) {
String userName = principal.getName();
System.out.println("User name: " + userName);
User loginUser = (User)((Authentication)principal).getPrincipal();
String userInfo = WebUtils.toString(loginUser); // возвращает роли склеенные через запятую, в данном случае - ROLE_ADMIN
System.out.println(userInfo);
model.addAttribute("userInfo", userInfo);
return "userInfoPage";
}
Тем не менее на защищённые роуты в моём случае может зайти любой, в т.ч. и не авторизованный пользователь - т.е. вообще фильтры на роуты не работают.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
После обновления jdbc драйвера в Intellij Idea, выскакивает такая ошибка:
Работаю с блютузомПрежде чем получить список доступных устрйств проверяю на то что включен ли блютуз
Добрый день к какому слою(layer) BroadcastReceiver в Mvp + The Clean Architecture (Чистая Архитектура) и где его разместить в структуре проекта???
Питаюсь подключить glassfish к IntelliJ IDEA но при запуске проекта возникает такая ошибка: