/** * @Intro descrption here * @author Lee * @Date 2013-7-30 */ package com.fang.bbks.modules.sys.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.fang.bbks.common.utils.CookieUtils; import com.fang.bbks.common.utils.SessionUtil; import com.fang.bbks.common.utils.Validate; import com.fang.bbks.common.web.BaseController; import com.fang.bbks.common.web.BaseResponse; import com.fang.bbks.modules.sys.entity.User; import com.fang.bbks.modules.sys.service.UserService; /** * @author Lee */ @Controller public class AccountController extends BaseController{ @Autowired private UserService userService; @Autowired private SessionUtil sessionUtil; @RequestMapping(method=RequestMethod.GET,value={"/login"}) public String signIn(HttpServletRequest request,HttpServletResponse response,HttpSession session){ if(sessionUtil.getSignInUser(session) != null) return "redirect:"+sessionUtil.getLastVisitedUrl(session); // if(CookieUtils.getUser(request) != null){ // User u = CookieUtils.getUser(request); // //cookies登录 // User user = userService.signIn(u.getUsername(), u.getPassword()); // if(u != null){ // //设置session // sessionUtil.setSignInUser(session, user); // } // return "redirect:"+sessionUtil.getLastVisitedUrl(session); // } return "login"; } @RequestMapping(method=RequestMethod.GET,value={"/regist"}) public String signUp(){ return "reg"; } @RequestMapping(method=RequestMethod.POST,value={"/login"}) public String doSignIn( @RequestParam(value="username",required=false) String username, @RequestParam(value="password",required=false) String pwd, HttpServletRequest request,HttpServletResponse response){ boolean isname = username == null || "".equals(username) || username.length() < 3; boolean ispwd = pwd == null || "".equals(pwd) || pwd.length() < 3; System.out.println("login...."); request.getSession().setAttribute("aaa", "hhhhh"); if(!isname && !ispwd){ User u = userService.signIn(username, pwd); if(u != null){ //设置session sessionUtil.setSignInUser(request.getSession(), u); // //设置cookies // CookieUtils.setUser(response, username, pwd, u.getId().toString()); return "redirect:"+sessionUtil.getLastVisitedUrl(request.getSession()); } } return "redirect:/login"; } @RequestMapping(method=RequestMethod.POST,value={"/regist"}) public String doSignUp( @RequestParam(value="username",required=true) String username, @RequestParam(value="email",required=true) String email, @RequestParam(value="password",required=true) String pwd, @RequestParam(value="repassword",required=true) String repwd, HttpServletRequest request,Model uiModel, HttpSession session,HttpServletResponse response){ boolean isname = username == null || "".equals(username) || username.length() < 3; boolean ispwd = pwd == null|| "".equals(pwd) || pwd.length() < 3; boolean isEmail = email == null || !Validate.isEmail(email); if(!isname && !ispwd && ! isEmail){ if(userService.isExit(username)){ uiModel.addAttribute("error", "用户名已被占用"); return "redirect:/regist"; } if(userService.isExitEmail(email)){ uiModel.addAttribute("error", "邮件已被占用"); return "redirect:/regist"; } User u = userService.signUp(username,email, pwd); if(u != null){ //注册成功,去登录 return "redirect:/login"; } }else{ uiModel.addAttribute("error", "为满足校验规则!"); } return "redirect:/regist"; } @RequestMapping(method=RequestMethod.GET,value={"/logout","/logOut"}) public String logOut(HttpServletRequest request){ System.out.println("log out..!!"); String last = sessionUtil.getLastVisitedUrl(request.getSession()); sessionUtil.logOut(request.getSession()); return "redirect:"+last; } }