36 lines
1.3 KiB
Java
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:/";
|
|
}
|
|
}
|