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=4f9c723fb150474b827dafff097e4d233aa2a5bc;hb=092b922842a99f6e6330305d579c119e20ceb03b;hp=8f096937f1fad65f16da22d44eabdd1dfaa04c30;hpb=dd57224ab51cc377dd7dfb34487f95f16895baaf;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 8f096937f..4f9c723fb 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 @@ -5,11 +5,11 @@ import java.util.List; import org.argeo.security.ArgeoSecurityService; import org.argeo.security.ArgeoUser; +import org.argeo.security.SimpleArgeoUser; import org.argeo.server.BooleanAnswer; +import org.argeo.server.Deserializer; 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; @@ -22,29 +22,33 @@ public class UsersRolesController implements MvcConstants { private ArgeoSecurityService securityService; - private ServerDeserializer userDeserializer = null; + private Deserializer userDeserializer = null; /* 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("/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) @@ -62,7 +66,7 @@ public class UsersRolesController implements MvcConstants { @RequestMapping("/createUser.security") @ModelAttribute(ANSWER_MODEL_KEY) public ArgeoUser createUser(Reader reader) { - ArgeoUser user = (ArgeoUser) userDeserializer.deserialize(reader); + ArgeoUser user = userDeserializer.deserialize(reader, ArgeoUser.class); // cleanUserBeforeCreate(user); securityService.newUser(user); return securityService.getSecurityDao().getUser(user.getUsername()); @@ -71,7 +75,7 @@ public class UsersRolesController implements MvcConstants { @RequestMapping("/updateUser.security") @ModelAttribute(ANSWER_MODEL_KEY) public ArgeoUser updateUser(Reader reader) { - ArgeoUser user = (ArgeoUser) userDeserializer.deserialize(reader); + ArgeoUser user = userDeserializer.deserialize(reader, ArgeoUser.class); securityService.updateUser(user); return securityService.getSecurityDao().getUser(user.getUsername()); } @@ -145,7 +149,7 @@ public class UsersRolesController implements MvcConstants { // user.getUserNatures().clear(); // } - public void setUserDeserializer(ServerDeserializer userDeserializer) { + public void setUserDeserializer(Deserializer userDeserializer) { this.userDeserializer = userDeserializer; }