X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=security%2Fruntime%2Forg.argeo.security.mvc%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fmvc%2FUsersRolesController.java;h=505f0094f118829ef37a25aa4389f50d6785db3b;hb=8220766ace9f3bde3a9d69890cd8307c34fe8ddd;hp=7f5334564fe931ed00637a87cc82deadb2faed77;hpb=a5f40d4dd3faeffbd0801771f778e887df93b103;p=lgpl%2Fargeo-commons.git diff --git a/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java b/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java index 7f5334564..505f0094f 100644 --- a/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java +++ b/security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java @@ -1,15 +1,24 @@ package org.argeo.security.mvc; +import java.util.List; + import org.argeo.security.ArgeoUser; import org.argeo.security.core.ArgeoUserDetails; +import org.argeo.security.dao.RoleDao; +import org.argeo.security.dao.UserDao; +import org.argeo.server.BooleanAnswer; +import org.argeo.server.ServerAnswer; import org.springframework.security.Authentication; import org.springframework.security.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; @Controller public class UsersRolesController { + private UserDao userDao; + private RoleDao roleDao; @RequestMapping("/getCredentials.security") @ModelAttribute("getCredentials") @@ -17,6 +26,40 @@ public class UsersRolesController { Authentication authentication = SecurityContextHolder.getContext() .getAuthentication(); - return ArgeoUserDetails.createBasicArgeoUser(authentication); + return ArgeoUserDetails.asArgeoUser(authentication); + } + + @RequestMapping("/getUsersList.security") + @ModelAttribute("getUsersList") + public List getUsersList() { + return userDao.listUsers(); + } + + @RequestMapping("/userExists.security") + @ModelAttribute("userExists") + public BooleanAnswer userExists(@RequestParam("username") String username) { + return new BooleanAnswer(userDao.userExists(username)); + } + + @RequestMapping("/deleteUser.security") + @ModelAttribute("deleteUser") + public ServerAnswer deleteUser(@RequestParam("username") String username) { + userDao.delete(username); + return ServerAnswer.ok(username + " deleted"); } + + @RequestMapping("/getUserDetails.security") + @ModelAttribute("getUserDetails") + public ArgeoUser getUserDetails(@RequestParam("username") String username) { + return userDao.getUser(username); + } + + public void setUserDao(UserDao userDao) { + this.userDao = userDao; + } + + public void setRoleDao(RoleDao roleDao) { + this.roleDao = roleDao; + } + }