No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call
User userRole = (User) user.getRoles();
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
Set<String> roles = authentication.getAuthorities().stream()
.map(r -> r.getAuthority()).collect(Collectors.toSet());
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
boolean hasUserRole = authentication.getAuthorities().stream()
.anyMatch(r -> r.getAuthority().equals("ROLE_USER"));
@GetMapping ("/customMethod")
public String someMethod(
@AuthenticationPrincipal UserDetails currentUser
) {
if(
SecurityContextHolder.getContext().getAuthentication() != null &&
SecurityContextHolder.getContext().getAuthentication().isAuthenticated() &&
!(SecurityContextHolder.getContext().getAuthentication() instanceof AnonymousAuthenticationToken)
) {
User user = (User) userService.findUserByEmail(currentUser.getUsername()); // Полушаем нашего авторизованного пользователя
// тут получаем роль пользователя, а дальше через switch case или if ... else редиректим на нужный урл
switch(userRole){
case "role1":
return "page1";
case "role2":
return "/page2";
}
}
}
827ccb0eea8a706c4c34a16891f84e7b
Я раньше использовал hostinger бесплатный пакет. Так вот, геморроя было выше крыши. То у них был фтп, то они сделали фтп платным, то сайт закрылся из-за истечения срока и не хотели выдавать архив с файлами сайта бесплатно и т.д.
Более 5 лет использовал хостинг namecheap.com (американский), 24 часовая онлайн поддержка,
https://www.namecheap.com/hosting/shared/
В первый год платите 15 долларов, последующие годы 30. К слову, раньше этот пакет у них стоил 38 долларов. 20 гб объем диска, можно хранить до 3-х веб-сайтов (основных доменов) и почти 50 сайтов с субдоменами. Кол-во айнод - 300 000, в то время, как обычные хостеры bluehost, godaddy, предлагают примерно 200-250 000. + можно разворачивать приложения ruby, python, nodeJS. Панель управления cpanel. Бесплатный whois. Я бы рекомендовал вам его, только на основе своего опыта.
Правда, сейчас я перешел на cloud vps (hetzner) - из-за того, что мне нужно было разворачивать java приложения на томкат. А на shared этого не сделаешь.... А этот хостинг стоит 3 евро в месяц, 20 гб диск, систему можешь выбрать любую (linux, windows и т.д.). Трафик 20 Тб и много чего другого. Правда, для vps слабенький, но меня устраивает