+/*
+ * 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.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.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.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class UsersRolesController implements MvcConstants {
- private UserDao userDao;
- private RoleDao roleDao;
+// 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 userDao.listUsers();
- }
-
- @RequestMapping("/userExists.security")
- @ModelAttribute(ANSWER_MODEL_KEY)
- public BooleanAnswer userExists(@RequestParam("username") String username) {
- return new BooleanAnswer(userDao.userExists(username));
- }
-
- @RequestMapping("/deleteUser.security")
- @ModelAttribute(ANSWER_MODEL_KEY)
- public ServerAnswer deleteUser(@RequestParam("username") String username) {
- userDao.delete(username);
- return ServerAnswer.ok("User " + username + " deleted");
- }
-
- @RequestMapping("/getUserDetails.security")
- @ModelAttribute(ANSWER_MODEL_KEY)
- public ArgeoUser getUserDetails(@RequestParam("username") String username) {
- return userDao.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 roleDao.listEditableRoles();
- }
-
- @RequestMapping("/createRole.security")
- @ModelAttribute(ANSWER_MODEL_KEY)
- public ServerAnswer createRole(@RequestParam("role") String role) {
- roleDao.create(role);
- return ServerAnswer.ok("Role " + role + " created");
- }
-
- @RequestMapping("/deleteRole.security")
- @ModelAttribute(ANSWER_MODEL_KEY)
- public ServerAnswer deleteRole(@RequestParam("role") String role) {
- roleDao.delete(role);
- return ServerAnswer.ok("Role " + role + " created");
- }
-
- public void setUserDao(UserDao userDao) {
- this.userDao = userDao;
- }
-
- public void setRoleDao(RoleDao roleDao) {
- this.roleDao = roleDao;
- }
+// @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;
+// }
}