//package com.lyms.cm.controller;
//
//import java.util.List;
//
//import org.apache.shiro.SecurityUtils;
//import org.apache.shiro.authc.AccountException;
//import org.apache.shiro.authc.AuthenticationException;
//import org.apache.shiro.authc.AuthenticationToken;
//import org.apache.shiro.authc.LockedAccountException;
//import org.apache.shiro.authc.UnknownAccountException;
//import org.apache.shiro.authc.UsernamePasswordToken;
//import org.springframework.beans.factory.annotation.Autowired;
//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 com.lyms.cm.entity.sys.TreeNode;
//import com.lyms.cm.entity.sys.User;
//import com.lyms.cm.service.sys.ResourceService;
//import com.lyms.cm.service.sys.UserService;
//import com.lyms.constants.Constants;
//import com.lyms.constants.SysResourceType;
//import com.lyms.shiro.ShiroWebUtils;
//import com.lyms.util.StrUtils;
//import com.lyms.web.controller.BaseController;
//
//@Controller
//public class LoginController extends BaseController {
//
// private static final String VIEW_LOGIN = "/login/login";
//
//
//
// @Autowired
// private UserService userService;
//
// @Autowired
// private ResourceService resourceService;
//
// @RequestMapping("/")
// public String index(Model model) {
// if(!ShiroWebUtils.isLogin()){
// return redirectTo(VIEW_LOGIN);
// }
// String username = ShiroWebUtils.getCurrentUserName();
// User user = userService.getUserByUserName(username);
// List<TreeNode> menus = resourceService.getPermissionMenuTreeByPid(SysResourceType.MANAGER_ROOT_MENU_RESOURCE_ID,user);
// model.addAttribute("menus", menus);
// return "/index";
// }
//
// @RequestMapping("/home")
// public String home() {
// return "/home";
// }
// /**
// * <li>@Description:导航到登录(GET)
// * <li>@param model
// * <li>@return
// * <li>创建人:方承
// * <li>创建时间:2016年11月27日
// * <li>修改人:
// * <li>修改时间:
// */
// @RequestMapping(value = "/login", method = RequestMethod.GET)
// public String login(Model model){
// model.addAttribute(Constants.CAPTCHA_TOKEN, StrUtils.uuid());
// return VIEW_LOGIN;
// }
//
// /**
// * <li>@Description:登录验证方法,详细查看ShiroRealm.class
// * <li>@param req
// * <li>@param model
// * <li>@return
// * <li>创建人:方承
// * <li>创建时间:2016年11月25日
// * <li>修改人:
// * <li>修改时间:
// */
// @RequestMapping(value = "/login", method = RequestMethod.POST)
// public String login(String username, String password,@RequestParam(value = "rememberMe",defaultValue = "0") int rememberMe, Model model) {
// String view = VIEW_LOGIN;
// if(StrUtils.isEmpty(username) || StrUtils.isEmpty(password)){
// model.addAttribute(Constants.CAPTCHA_TOKEN, StrUtils.uuid());
// return view;
// }
// AuthenticationToken token = new UsernamePasswordToken(username, password);
// if (rememberMe == 1) {
// ((UsernamePasswordToken) token).setRememberMe(true);
// }
// try {
// //查看ShiroRealm.class
// SecurityUtils.getSubject().login(token);
// return redirectTo("/");
// } catch (AuthenticationException e) {
// if (e instanceof UnknownAccountException) {
// model.addAttribute("message", "用户不存在");
// } else if (e instanceof AccountException) {
// model.addAttribute("message", "用户名密码错误");
// } else if (e instanceof LockedAccountException) {
// model.addAttribute("message", "用户被禁用");
// } else {
// model.addAttribute("message", "用户认证失败");
// }
// }
// model.addAttribute(Constants.CAPTCHA_TOKEN, StrUtils.uuid());
// return view;
// }
//
//}