]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - security/runtime/org.argeo.security.mvc/src/main/java/org/argeo/security/mvc/UsersRolesController.java
Update license headers
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.mvc / src / main / java / org / argeo / security / mvc / UsersRolesController.java
index e73522cf4a4b6f072c1bd7d750bdd90082dbff65..185d376a679eea5624b6384c7c638238c3816c0b 100644 (file)
+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 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.BasicArgeoUser;
-import org.argeo.security.core.ArgeoUserDetails;
-import org.argeo.server.BooleanAnswer;
-import org.argeo.server.DeserializingEditor;
-import org.argeo.server.ServerAnswer;
-import org.argeo.server.ServerDeserializer;
 import org.argeo.server.mvc.MvcConstants;
-import org.springframework.security.Authentication;
-import org.springframework.security.context.SecurityContextHolder;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.InitBinder;
-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 implements MvcConstants {
-       private final static Log log = LogFactory
-                       .getLog(UsersRolesController.class);
-
-       private ArgeoSecurityService securityService;
-
-       private ServerDeserializer userDeserializer = null;
-
-       @InitBinder
-       public void initBinder(WebDataBinder binder) {
-               binder.registerCustomEditor(BasicArgeoUser.class,
-                               new DeserializingEditor(userDeserializer));
-       }
+//     private ArgeoSecurityService securityService;
+//     private Deserializer userDeserializer = null;
 
        /* USER */
 
-       @RequestMapping("/getCredentials.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public ArgeoUser getCredentials() {
-               Authentication authentication = SecurityContextHolder.getContext()
-                               .getAuthentication();
-               return ArgeoUserDetails.asArgeoUser(authentication);
-       }
-
-       @RequestMapping("/getUsersList.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public List<ArgeoUser> getUsersList() {
-               return securityService.getSecurityDao().listUsers();
-       }
-
-       @RequestMapping("/userExists.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public BooleanAnswer userExists(@RequestParam("username") String username) {
-               return new BooleanAnswer(securityService.getSecurityDao().userExists(
-                               username));
-       }
-
-       @RequestMapping("/createUser.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public ArgeoUser createUser(Reader reader) {
-               ArgeoUser user = (ArgeoUser) userDeserializer.deserialize(reader);
-               cleanUserBeforeCreate(user);
-               securityService.newUser(user);
-               return securityService.getSecurityDao().getUser(user.getUsername());
-       }
-
-       @RequestMapping("/updateUser.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public ArgeoUser updateUser(Reader reader) {
-               ArgeoUser user = (ArgeoUser) userDeserializer.deserialize(reader);
-               securityService.getSecurityDao().update(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)
-       public ServerAnswer deleteUser(@RequestParam("username") String username) {
-               securityService.getSecurityDao().delete(username);
-               return ServerAnswer.ok("User " + username + " deleted");
-       }
-
-       @RequestMapping("/getUserDetails.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public ArgeoUser getUserDetails(@RequestParam("username") String username) {
-               return securityService.getSecurityDao().getUser(username);
-       }
+//     @RequestMapping("/getCredentials.*")
+//     @ModelAttribute("user")
+//     public ArgeoUser getCredentials() {
+//             ArgeoUser argeoUser = securityService.getCurrentUser();
+//             if (argeoUser == null)
+//                     return new SimpleArgeoUser();
+//             else
+//                     return argeoUser;
+//     }
+//
+//     @RequestMapping("/getUsersList.*")
+//     @ModelAttribute("users")
+//     public Set<ArgeoUser> getUsersList() {
+//             return securityService.listUsers();
+//     }
+//
+//     @RequestMapping("/userExists.*")
+//     public BooleanAnswer userExists(@RequestParam("username") String username) {
+//             return new BooleanAnswer(securityService.userExists(username));
+//     }
+//
+//     @RequestMapping("/createUser.*")
+//     @ModelAttribute("user")
+//     public ArgeoUser createUser(Reader reader) {
+//             ArgeoUser user = userDeserializer.deserialize(reader,
+//                             SimpleArgeoUser.class);
+//             securityService.newUser(user);
+//             return securityService.getUser(user.getUsername());
+//     }
+//
+//     @RequestMapping("/updateUser.*")
+//     @ModelAttribute("user")
+//     public ArgeoUser updateUser(Reader reader) {
+//             ArgeoUser user = userDeserializer.deserialize(reader,
+//                             SimpleArgeoUser.class);
+//             securityService.updateUser(user);
+//             return securityService.getUser(user.getUsername());
+//     }
+//
+//     @RequestMapping("/updateUserSelf.*")
+//     @ModelAttribute("user")
+//     /** Will only update the user natures.*/
+//     public ArgeoUser updateUserSelf(Reader reader) {
+//             ArgeoUser user = securityService.getCurrentUser();
+//             ArgeoUser userForNatures = userDeserializer.deserialize(reader,
+//                             SimpleArgeoUser.class);
+//             user.updateUserNatures(userForNatures.getUserNatures());
+//             securityService.updateUser(user);
+//             return securityService.getUser(user.getUsername());
+//     }
+//
+//     @RequestMapping("/deleteUser.*")
+//     public ServerAnswer deleteUser(@RequestParam("username") String username) {
+//             securityService.deleteUser(username);
+//             return ServerAnswer.ok("User " + username + " deleted");
+//     }
+//
+//     @RequestMapping("/getUserDetails.*")
+//     @ModelAttribute("user")
+//     public ArgeoUser getUserDetails(@RequestParam("username") String username) {
+//             return securityService.getUser(username);
+//     }
 
        /* ROLE */
-       @RequestMapping("/getRolesList.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public List<String> getEditableRolesList() {
-               return securityService.getSecurityDao().listEditableRoles();
-       }
-
-       @RequestMapping("/createRole.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public ServerAnswer createRole(@RequestParam("role") String role) {
-               securityService.newRole(role);
-               return ServerAnswer.ok("Role " + role + " created");
-       }
-
-       @RequestMapping("/deleteRole.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public ServerAnswer deleteRole(@RequestParam("role") String role) {
-               securityService.getSecurityDao().deleteRole(role);
-               return ServerAnswer.ok("Role " + role + " deleted");
-       }
-
-       @RequestMapping("/updateUserPassword.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public ServerAnswer updateUserPassword(
-                       @RequestParam("username") String username,
-                       @RequestParam("password") String password) {
-               securityService.updateUserPassword(username, password);
-               return ServerAnswer.ok("Password updated for user " + username);
-       }
-
-       @RequestMapping("/updatePassword.security")
-       @ModelAttribute(ANSWER_MODEL_KEY)
-       public ServerAnswer updatePassword(
-                       @RequestParam("password") String password,
-                       @RequestParam("oldPassword") String oldPassword) {
-               securityService.getSecurityDao().updatePassword(oldPassword, password);
-               return ServerAnswer.ok("Password updated");
-       }
-
-       protected void cleanUserBeforeCreate(ArgeoUser user) {
-               user.getUserNatures().clear();
-               user.getRoles().clear();
-       }
-
-       public void setUserDeserializer(ServerDeserializer userDeserializer) {
-               this.userDeserializer = userDeserializer;
-       }
-
-       public void setSecurityService(ArgeoSecurityService securityService) {
-               this.securityService = securityService;
-       }
+//     @RequestMapping("/getRolesList.*")
+//     @ModelAttribute("roles")
+//     public Set<String> getEditableRolesList() {
+//             return securityService.listEditableRoles();
+//     }
+//
+//     @RequestMapping("/createRole.*")
+//     public ServerAnswer createRole(@RequestParam("role") String role) {
+//             securityService.newRole(role);
+//             return ServerAnswer.ok("Role " + role + " created");
+//     }
+//
+//     @RequestMapping("/deleteRole.*")
+//     public ServerAnswer deleteRole(@RequestParam("role") String role) {
+//             securityService.deleteRole(role);
+//             return ServerAnswer.ok("Role " + role + " deleted");
+//     }
+//
+//     @RequestMapping("/updateUserPassword.*")
+//     public ServerAnswer updateUserPassword(
+//                     @RequestParam("username") String username,
+//                     @RequestParam("password") String password) {
+//             securityService.updateUserPassword(username, password);
+//             return ServerAnswer.ok("Password updated for user " + username);
+//     }
+//
+//     @RequestMapping("/updatePassword.*")
+//     public ServerAnswer updatePassword(
+//                     @RequestParam("oldPassword") String oldPassword,
+//                     @RequestParam("password") String password) {
+//             securityService.updateCurrentUserPassword(oldPassword, password);
+//             return ServerAnswer.ok("Password updated");
+//     }
+//
+//     public void setUserDeserializer(Deserializer userDeserializer) {
+//             this.userDeserializer = userDeserializer;
+//     }
+//
+//     public void setSecurityService(ArgeoSecurityService securityService) {
+//             this.securityService = securityService;
+//     }
 
 }