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=31d2d0581797c1377edd3361a34e34dbec7f1f1d;hb=51cdd7c0883f0ccd756f0f5d0dc2ac97b327d25d;hp=88dc15589b33732e071d515a2e2385a94e99e7c6;hpb=e80be147bdb65aa2a0c34e848ca78851b781508d;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 88dc15589..31d2d0581 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,18 +1,16 @@ package org.argeo.security.mvc; import java.io.Reader; -import java.io.StringReader; import java.util.List; -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.security.ArgeoSecurityService; import org.argeo.security.ArgeoUser; +import org.argeo.security.SimpleArgeoUser; import org.argeo.server.BooleanAnswer; import org.argeo.server.ServerAnswer; import org.argeo.server.ServerDeserializer; import org.argeo.server.mvc.MvcConstants; +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; @@ -20,26 +18,38 @@ import org.springframework.web.bind.annotation.RequestParam; @Controller public class UsersRolesController implements MvcConstants { - private final static Log log = LogFactory - .getLog(UsersRolesController.class); + // private final static Log log = LogFactory + // .getLog(UsersRolesController.class); private ArgeoSecurityService securityService; private ServerDeserializer userDeserializer = null; - // @InitBinder - // public void initBinder(WebDataBinder binder) { - // binder.registerCustomEditor(SimpleArgeoUser.class, - // new DeserializingEditor(userDeserializer)); - // } - /* USER */ - @RequestMapping("/getCredentials.security") + @RequestMapping("/getCredentials.ria") @ModelAttribute(ANSWER_MODEL_KEY) public ArgeoUser getCredentials() { - return securityService.getSecurityDao().getCurrentUser(); - } + ArgeoUser argeoUser = securityService.getSecurityDao().getCurrentUser(); + if (argeoUser == null) + return new SimpleArgeoUser(); + else + return argeoUser; + } + + // @RequestMapping("/login.security") + // @ModelAttribute(ANSWER_MODEL_KEY) + // public ArgeoUser login(@RequestParam("username") String username, + // @RequestParam("password") String password) { + // //SecurityContextHolder.getContext().getAuthentication(). + // return securityService.getSecurityDao().getCurrentUser(); + // } + // + // @RequestMapping("/logout.security") + // @ModelAttribute(ANSWER_MODEL_KEY) + // public ServerAnswer logout() { + // return ServerAnswer.ok("Logged out"); + // } @RequestMapping("/getUsersList.security") @ModelAttribute(ANSWER_MODEL_KEY) @@ -58,7 +68,7 @@ public class UsersRolesController implements MvcConstants { @ModelAttribute(ANSWER_MODEL_KEY) public ArgeoUser createUser(Reader reader) { ArgeoUser user = (ArgeoUser) userDeserializer.deserialize(reader); - cleanUserBeforeCreate(user); + // cleanUserBeforeCreate(user); securityService.newUser(user); return securityService.getSecurityDao().getUser(user.getUsername()); } @@ -67,26 +77,22 @@ public class UsersRolesController implements MvcConstants { @ModelAttribute(ANSWER_MODEL_KEY) public ArgeoUser updateUser(Reader reader) { ArgeoUser user = (ArgeoUser) userDeserializer.deserialize(reader); - securityService.getSecurityDao().update(user); + securityService.updateUser(user); return securityService.getSecurityDao().getUser(user.getUsername()); } - @RequestMapping("/createUser2.security") - @ModelAttribute(ANSWER_MODEL_KEY) - public ArgeoUser createUser(@RequestParam("body") String body) { - if (log.isDebugEnabled()) - log.debug("body:\n" + body); - StringReader reader = new StringReader(body); - ArgeoUser user = null; - try { - user = (ArgeoUser) userDeserializer.deserialize(reader); - } finally { - IOUtils.closeQuietly(reader); - } - cleanUserBeforeCreate(user); - securityService.newUser(user); - return securityService.getSecurityDao().getUser(user.getUsername()); - } + /* + * @RequestMapping("/createUser2.security") + * + * @ModelAttribute(ANSWER_MODEL_KEY) public ArgeoUser + * createUser(@RequestParam("body") String body) { if (log.isDebugEnabled()) + * log.debug("body:\n" + body); StringReader reader = new + * StringReader(body); ArgeoUser user = null; try { user = (ArgeoUser) + * userDeserializer.deserialize(reader); } finally { + * IOUtils.closeQuietly(reader); } cleanUserBeforeCreate(user); + * securityService.newUser(user); return + * securityService.getSecurityDao().getUser(user.getUsername()); } + */ @RequestMapping("/deleteUser.security") @ModelAttribute(ANSWER_MODEL_KEY) @@ -140,10 +146,9 @@ public class UsersRolesController implements MvcConstants { return ServerAnswer.ok("Password updated"); } - protected void cleanUserBeforeCreate(ArgeoUser user) { - user.getUserNatures().clear(); - user.getRoles().clear(); - } + // protected void cleanUserBeforeCreate(ArgeoUser user) { + // user.getUserNatures().clear(); + // } public void setUserDeserializer(ServerDeserializer userDeserializer) { this.userDeserializer = userDeserializer;