Package com.easydesk.web.controller
Class AdminController
java.lang.Object
com.easydesk.web.controller.AdminController
EasyDesk SecurityService의 ModelManager(grant/revokeAll)를 웹에서 조작해보는 간단한 관리자
화면.
User/Group/Role은 실제 DB를 임의 조회하는 대신 UserEnum/GroupEnum/RoleEnum (seed 데이터에 매핑된
고정 enum)을 그대로 드롭다운으로 노출한다. ModelManager API가 (user, group) 조합 단위로만
grant/revokeAll을 지원하기 때문에 화면도 그 단위로만 조작하도록 맞췄다 - 개별 role revoke나 permission
직접 관리는 API에 없어서 이 화면에서는 지원하지 않는다.
로그인 여부만 확인한다 (LoginController#SESSION_USER 세션 속성). authenticate()가 아직 스텁이라
role 기반 접근 제어까지는 걸지 않았다.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadminHome(HttpSession session, org.springframework.ui.Model model) dbBackup(HttpSession session, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectAttributes) 관리 화면에서 명시적으로 누르는 DB 백업 버튼.grant(String userName, String groupName, String roleName, HttpSession session, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectAttributes) revokeAll(String userName, String groupName, HttpSession session, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectAttributes) roles(String userName, String groupName, HttpSession session, org.springframework.ui.Model model)
-
Constructor Details
-
AdminController
public AdminController(@Qualifier("moduleSecurityService") SecurityService moduleSecurityService, @Value("${app.db-backup.path:db_backup}") String dbBackupPath)
-
-
Method Details
-
adminHome
@GetMapping("/admin") public String adminHome(HttpSession session, org.springframework.ui.Model model) -
dbBackup
@PostMapping("/admin/db-backup") public String dbBackup(HttpSession session, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectAttributes) 관리 화면에서 명시적으로 누르는 DB 백업 버튼. 예전엔 앱 종료 시 @PreDestroy로 자동 백업했었는데, mvn package 중 bean-graph 플러그인이 앱을 잠깐 띄웠다 내리는 것도 "정상 종료"로 인식되어 매번 백업이 돌아버리는 문제와, kill -9 등 비정상 종료 시엔 아예 실행되지 않는 문제가 있어서 스프링 생명주기에 얹는 대신 이렇게 명시적인 버튼 트리거로 바꿨다. -
roles
@Screen("AdminRoles") @GetMapping("/admin/roles") public String roles(@RequestParam("user") String userName, @RequestParam("group") String groupName, HttpSession session, org.springframework.ui.Model model) -
grant
-
revokeAll
@Screen("AdminRoles") @PostMapping("/admin/revoke-all") public String revokeAll(@RequestParam("user") String userName, @RequestParam("group") String groupName, HttpSession session, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectAttributes)
-