Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package joseph.hotel.controllers;
- import joseph.hotel.entities.users.models.UsersEntity;
- import joseph.hotel.entities.users.models.UsersProfileEntity;
- import joseph.hotel.entities.users.service.UserProfileService;
- import joseph.hotel.entities.users.service.UserService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.core.Authentication;
- import org.springframework.security.core.context.SecurityContextHolder;
- import org.springframework.security.core.userdetails.UserDetails;
- import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.validation.Valid;
- import java.util.List;
- @Controller
- public class PetHotelController {
- @Autowired
- private
- UserProfileService userProfileService;
- @Autowired
- private
- UserService userService;
- @RequestMapping(value = { "/", "/home" }, method = RequestMethod.GET)
- public String homePage(ModelMap model) {
- model.addAttribute("greeting", "Welcome to PetHotel");
- return "welcome";
- }
- @RequestMapping(value = "/admin", method = RequestMethod.GET)
- public String adminPage(ModelMap model) {
- model.addAttribute("user", getPrincipal());
- return "admin";
- }
- @RequestMapping(value = "/db", method = RequestMethod.GET)
- public String dbaPage(ModelMap model) {
- model.addAttribute("user", getPrincipal());
- return "dba";
- }
- @RequestMapping(value = "/Access_Denied", method = RequestMethod.GET)
- public String accessDeniedPage(ModelMap model) {
- model.addAttribute("user", getPrincipal());
- return "accessDenied";
- }
- @RequestMapping(value = "/login", method = RequestMethod.GET)
- public String loginPage() {
- return "login";
- }
- @RequestMapping(value="/logout", method = RequestMethod.GET)
- public String logoutPage (HttpServletRequest request, HttpServletResponse response) {
- Authentication auth = SecurityContextHolder.getContext().getAuthentication();
- if (auth != null){
- new SecurityContextLogoutHandler().logout(request, response, auth);
- }
- return "redirect:/login?logout";
- }
- @RequestMapping(value = "/newUser", method = RequestMethod.GET)
- public String newRegistration(ModelMap model) {
- UsersEntity user = new UsersEntity();
- model.addAttribute("user", user);
- return "newuser";
- }
- /*
- * This method will be called on form submission, handling POST request It
- * also validates the user input
- */
- @RequestMapping(value = "/newUser", method = RequestMethod.POST)
- public String saveRegistration(@Valid UsersEntity user,
- BindingResult result, ModelMap model) {
- if (result.hasErrors()) {
- System.out.println("There are errors");
- return "newuser";
- }
- userService.save(user);
- System.out.println("Username : "+user.getUsername());
- System.out.println("Password : "+user.getPassword());
- System.out.println("Email : "+user.getEmail());
- System.out.println("Status : " + user.getState());
- System.out.println("Checking UsrProfiles....");
- if(user.getUserProfiles()!=null){
- for(UsersProfileEntity profile : user.getUserProfiles()){
- System.out.println("Profile : "+ profile.getType());
- }
- }
- model.addAttribute("success", "User " + user.getUsername() + " has been registered successfully");
- return "registrationsuccess";
- }
- private String getPrincipal(){
- String userName = null;
- Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
- if (principal instanceof UserDetails) {
- userName = ((UserDetails)principal).getUsername();
- } else {
- userName = principal.toString();
- }
- return userName;
- }
- @ModelAttribute("roles")
- public List<UsersProfileEntity> initializeProfiles() {
- return userProfileService.findAll();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement