2024-06-11 04:11:27 +03:00

36 lines
1.3 KiB
Java

package com.alterdekim.hearthhack.controller;
import com.alterdekim.hearthhack.entity.User;
import com.alterdekim.hearthhack.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Slf4j
@Controller
public class AdminController {
@Autowired
private UserService userService;
@GetMapping("/panel")
public String adminPanel(Model model) {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if( authentication.isAuthenticated() ) {
try {
User u = userService.findByUsername(((org.springframework.security.core.userdetails.User) authentication.getPrincipal()).getUsername());
if( !u.getRoles().get(0).getName().equals("ROLE_ADMIN") ) {
return "redirect:/";
}
return "panel";
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
return "redirect:/";
}
}