From 6b8c26fc05b1a4b9604e97436058e4b44a541cfd Mon Sep 17 00:00:00 2001 From: fangcheng Date: Thu, 9 Mar 2017 18:11:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BA=A7=E8=81=94=E8=8F=9C?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/cm/controller/LoginController.java | 227 +++++++++++---------- .../com/lyms/cm/dao/sys/SysPermissionsMapper.java | 14 +- .../com/lyms/cm/dao/sys/SysPermissionsMapper.xml | 12 ++ .../java/com/lyms/cm/enums/PermissionEnum.java | 23 +++ .../lyms/cm/service/sys/SysPermissionsService.java | 6 + .../com/lyms/cm/service/sys/SysUsersService.java | 2 +- .../sys/impl/SysPermissionsServiceImpl.java | 140 +++++++++++++ .../main/java/com/lyms/cm/shiro/ShiroRealm.java | 113 +++++----- .../baomidou/mybatisplus/test/generator/.gitignore | 1 + 9 files changed, 374 insertions(+), 164 deletions(-) create mode 100644 center.manager/src/main/java/com/lyms/cm/enums/PermissionEnum.java create mode 100644 mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/generator/.gitignore diff --git a/center.manager/src/main/java/com/lyms/cm/controller/LoginController.java b/center.manager/src/main/java/com/lyms/cm/controller/LoginController.java index 6c9ceb6..981596e 100644 --- a/center.manager/src/main/java/com/lyms/cm/controller/LoginController.java +++ b/center.manager/src/main/java/com/lyms/cm/controller/LoginController.java @@ -1,113 +1,114 @@ -//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 menus = resourceService.getPermissionMenuTreeByPid(SysResourceType.MANAGER_ROOT_MENU_RESOURCE_ID,user); -// model.addAttribute("menus", menus); -// return "/index"; -// } -// -// @RequestMapping("/home") -// public String home() { -// return "/home"; -// } -// /** -// *
  • @Description:导航到登录(GET) -// *
  • @param model -// *
  • @return -// *
  • 创建人:方承 -// *
  • 创建时间:2016年11月27日 -// *
  • 修改人: -// *
  • 修改时间: -// */ -// @RequestMapping(value = "/login", method = RequestMethod.GET) -// public String login(Model model){ -// model.addAttribute(Constants.CAPTCHA_TOKEN, StrUtils.uuid()); -// return VIEW_LOGIN; -// } -// -// /** -// *
  • @Description:登录验证方法,详细查看ShiroRealm.class -// *
  • @param req -// *
  • @param model -// *
  • @return -// *
  • 创建人:方承 -// *
  • 创建时间:2016年11月25日 -// *
  • 修改人: -// *
  • 修改时间: -// */ -// @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; -// } -// -//} +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.baomidou.mybatisplus.mapper.EntityWrapper; +import com.lyms.cm.entity.sys.SysUsers; +import com.lyms.cm.entity.sys.TreeNode; +import com.lyms.cm.service.sys.SysPermissionsService; +import com.lyms.cm.service.sys.SysUsersService; +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 SysUsersService sysUsersService; + + @Autowired + private SysPermissionsService sysPermissionsService; + + + @RequestMapping("/") + public String index(Model model) { + if(!ShiroWebUtils.isLogin()){ + return redirectTo(VIEW_LOGIN); + } + SysUsers user = ShiroWebUtils.getCurrentUser(); + List menus = sysPermissionsService.getPermissionMenuTreeByPuri(SysResourceType.MANAGER_ROOT_MENU_RESOURCE_ID,user); + model.addAttribute("menus", menus); + return "/index"; + } + + @RequestMapping("/home") + public String home() { + return "/home"; + } + /** + *
  • @Description:导航到登录(GET) + *
  • @param model + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2016年11月27日 + *
  • 修改人: + *
  • 修改时间: + */ + @RequestMapping(value = "/login", method = RequestMethod.GET) + public String login(Model model){ + model.addAttribute(Constants.CAPTCHA_TOKEN, StrUtils.uuid()); + return VIEW_LOGIN; + } + + /** + *
  • @Description:登录验证方法,详细查看ShiroRealm.class + *
  • @param req + *
  • @param model + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2016年11月25日 + *
  • 修改人: + *
  • 修改时间: + */ + @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; + } + +} diff --git a/center.manager/src/main/java/com/lyms/cm/dao/sys/SysPermissionsMapper.java b/center.manager/src/main/java/com/lyms/cm/dao/sys/SysPermissionsMapper.java index a071794..499f2af 100644 --- a/center.manager/src/main/java/com/lyms/cm/dao/sys/SysPermissionsMapper.java +++ b/center.manager/src/main/java/com/lyms/cm/dao/sys/SysPermissionsMapper.java @@ -1,9 +1,13 @@ package com.lyms.cm.dao.sys; -import com.lyms.cm.entity.sys.SysPermissions; -import com.baomidou.mybatisplus.mapper.BaseMapper; -import org.springframework.stereotype.Repository; import java.io.Serializable; +import java.util.List; + +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.lyms.cm.entity.sys.SysPermissions; +import com.lyms.cm.entity.sys.TreeNode; /** *

    * Mapper接口 @@ -16,5 +20,9 @@ import java.io.Serializable; public interface SysPermissionsMapper extends BaseMapper { public Integer deleteLogicById(Serializable id); + + List getMenuTreeByPuri(String puri); + + List getUserPermission(String uid); } \ No newline at end of file diff --git a/center.manager/src/main/java/com/lyms/cm/dao/sys/SysPermissionsMapper.xml b/center.manager/src/main/java/com/lyms/cm/dao/sys/SysPermissionsMapper.xml index 3426bdf..66b3377 100644 --- a/center.manager/src/main/java/com/lyms/cm/dao/sys/SysPermissionsMapper.xml +++ b/center.manager/src/main/java/com/lyms/cm/dao/sys/SysPermissionsMapper.xml @@ -21,4 +21,16 @@ ID AS id, NAME AS name, URI AS uri, TYPE AS type, PURI AS puri, ICON AS icon, IFDEL AS ifdel, ENABLE AS enable, EXTRA_DATA AS extraData, WEIGHT AS weight, FOREIGN_ID AS foreignId + + + + diff --git a/center.manager/src/main/java/com/lyms/cm/enums/PermissionEnum.java b/center.manager/src/main/java/com/lyms/cm/enums/PermissionEnum.java new file mode 100644 index 0000000..d713811 --- /dev/null +++ b/center.manager/src/main/java/com/lyms/cm/enums/PermissionEnum.java @@ -0,0 +1,23 @@ +package com.lyms.cm.enums; + +public enum PermissionEnum { + + /** + * 中心根节点 + */ + CENTER_MANAGER_ROOT("center"), + /** + * 院内根节点 + */ + HOSPITAL_ROOT("hospital"); + + private String code; + + private PermissionEnum(String code) { + this.code = code; + } + + public String getCode() { + return code; + } +} diff --git a/center.manager/src/main/java/com/lyms/cm/service/sys/SysPermissionsService.java b/center.manager/src/main/java/com/lyms/cm/service/sys/SysPermissionsService.java index d6698c1..c70d435 100644 --- a/center.manager/src/main/java/com/lyms/cm/service/sys/SysPermissionsService.java +++ b/center.manager/src/main/java/com/lyms/cm/service/sys/SysPermissionsService.java @@ -1,8 +1,11 @@ package com.lyms.cm.service.sys; import com.lyms.cm.entity.sys.SysPermissions; +import com.lyms.cm.entity.sys.SysUsers; +import com.lyms.cm.entity.sys.TreeNode; import com.lyms.web.service.BaseService; import java.io.Serializable; +import java.util.List; /** *

    @@ -20,5 +23,8 @@ public interface SysPermissionsService extends BaseService { *

  • @return 大于0修改成功,否则为失败 */ public Integer deleteLogicById(Serializable id); + + public List getPermissionMenuTreeByPuri(String puri, SysUsers user); + } diff --git a/center.manager/src/main/java/com/lyms/cm/service/sys/SysUsersService.java b/center.manager/src/main/java/com/lyms/cm/service/sys/SysUsersService.java index 80b6b5f..1d63e41 100644 --- a/center.manager/src/main/java/com/lyms/cm/service/sys/SysUsersService.java +++ b/center.manager/src/main/java/com/lyms/cm/service/sys/SysUsersService.java @@ -74,5 +74,5 @@ public interface SysUsersService extends BaseService { *
  • 修改时间: */ public boolean isAllowUpdate(String account,String userid); - + } diff --git a/center.manager/src/main/java/com/lyms/cm/service/sys/impl/SysPermissionsServiceImpl.java b/center.manager/src/main/java/com/lyms/cm/service/sys/impl/SysPermissionsServiceImpl.java index b719d6b..2078d1f 100644 --- a/center.manager/src/main/java/com/lyms/cm/service/sys/impl/SysPermissionsServiceImpl.java +++ b/center.manager/src/main/java/com/lyms/cm/service/sys/impl/SysPermissionsServiceImpl.java @@ -1,11 +1,19 @@ package com.lyms.cm.service.sys.impl; import com.lyms.cm.entity.sys.SysPermissions; +import com.lyms.cm.entity.sys.SysUsers; +import com.lyms.cm.entity.sys.TreeNode; import com.lyms.cm.dao.sys.SysPermissionsMapper; import com.lyms.cm.service.sys.SysPermissionsService; +import com.lyms.util.InstanceUtils; +import com.lyms.util.StrUtils; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.io.Serializable; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; /** *

    @@ -21,4 +29,136 @@ public class SysPermissionsServiceImpl extends ServiceImpl getMenuTreeByPid(String puri) { + List allMenu = baseMapper.getMenuTreeByPuri(puri); + //迭代获取子节点 + for (TreeNode menuNode : allMenu) { + List subMenu = baseMapper.getMenuTreeByPuri(menuNode.getId()+""); + if(subMenu != null && subMenu.size() > 0){ + menuNode.setChildren(subMenu); + getSubMenuTreeByNodeList(subMenu); + } + } + return allMenu; + } + + /** + * @param treeNodeList 迭代处理子节点 + */ + private void getSubMenuTreeByNodeList(List treeNodeList) { + if(treeNodeList != null && treeNodeList.size() > 0){ + //迭代获取子节点 + for (TreeNode menuNode : treeNodeList) { + List subMenu = baseMapper.getMenuTreeByPuri(menuNode.getId()+""); + if(subMenu != null && subMenu.size() > 0){ + menuNode.setChildren(subMenu); + getSubMenuTreeByNodeList(subMenu); + } + } + } + } + + //权限菜单 + @Override + public List getPermissionMenuTreeByPuri(String puri, SysUsers user) { + //用户权限列表 + Map permissionsMap = getUserPermissionMap(getUserPermissionSet(user.getId())); + //所有菜单 + List allMenu = baseMapper.getMenuTreeByPuri(puri); + //初始化要返回的有权限的菜单 + List allPermissionMenu = InstanceUtils.newArrayList(); + //迭代获取子节点 + for (TreeNode menuNode : allMenu) { + if(permissionsMap.get(menuNode.getId()) != null){ + allPermissionMenu.add(menuNode); + List subMenus = baseMapper.getMenuTreeByPuri(menuNode.getId()+""); + if(subMenus != null && subMenus.size() > 0){ + List permissionSubMenu = InstanceUtils.newArrayList(); + for(TreeNode submenu : subMenus){ + if(permissionsMap.get(submenu.getId()) != null){ + permissionSubMenu.add(submenu); + } + } + menuNode.setChildren(permissionSubMenu); + getPermissionSubMenuTreeByNodeList(permissionSubMenu,permissionsMap); + } + } + } + return allPermissionMenu; + + } + /** + * @param treeNodeList 迭代处理获取有权限的子节点 + */ + private void getPermissionSubMenuTreeByNodeList(List treeNodeList,Map permissionMap) { + if(treeNodeList != null && treeNodeList.size() > 0){ + //迭代获取子节点 + for (TreeNode menuNode : treeNodeList) { + List subMenus = baseMapper.getMenuTreeByPuri(menuNode.getId()+""); + if(subMenus != null && subMenus.size() > 0){ + List permissionSubMenu = InstanceUtils.newArrayList(); + for(TreeNode subMenu : subMenus){ + if(permissionMap.get(subMenu.getId()) != null){ + permissionSubMenu.add(subMenu); + } + } + menuNode.setChildren(permissionSubMenu); + getPermissionSubMenuTreeByNodeList(permissionSubMenu,permissionMap); + } + } + } + } + + /** + *

  • @Description:根据用户id获取用户所有权限列表 + *
  • @param uid + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2017年3月9日 + *
  • 修改人: + *
  • 修改时间: + */ + public List getUserPermission(String uid){ + return baseMapper.getUserPermission(uid); + } + + /** + *
  • @Description:权限列表Set,方便Shiro使用 + *
  • @param uid + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2017年3月9日 + *
  • 修改人: + *
  • 修改时间: + */ + public Set getUserPermissionSet(String uid){ + Set pSet = InstanceUtils.newHashSet(); + List pList = getUserPermission(uid); + for(SysPermissions p : pList){ + if(StrUtils.isNotEmpty(p.getUri())) + pSet.add(p.getUri()); + } + return pSet; + } + + /** + *
  • @Description:根据Set获取Map,key存uri + *
  • @param pset + *
  • @return + *
  • 创建人:方承 + *
  • 创建时间:2017年3月9日 + *
  • 修改人: + *
  • 修改时间: + */ + private Map getUserPermissionMap(Set pset){ + Map pMap = InstanceUtils.newHashMap(); + Iterator it=pset.iterator(); + while(it.hasNext()){ + pMap.put(it.next(), ""); + } + return pMap; + } + } diff --git a/center.manager/src/main/java/com/lyms/cm/shiro/ShiroRealm.java b/center.manager/src/main/java/com/lyms/cm/shiro/ShiroRealm.java index 022537b..0a34407 100644 --- a/center.manager/src/main/java/com/lyms/cm/shiro/ShiroRealm.java +++ b/center.manager/src/main/java/com/lyms/cm/shiro/ShiroRealm.java @@ -18,6 +18,11 @@ import org.apache.shiro.subject.PrincipalCollection; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.lyms.cm.entity.sys.SysUsers; +import com.lyms.cm.enums.StatusEnum; +import com.lyms.cm.service.sys.SysUsersService; import com.lyms.shiro.HashUtils; import com.lyms.shiro.ShiroWebUtils; import com.lyms.util.StrUtils; @@ -43,54 +48,68 @@ public class ShiroRealm extends AuthorizingRealm { return null; } -// @SuppressWarnings("unused") -// private static Logger logger = LoggerFactory.getLogger(ShiroRealm.class); -// -// -// public ShiroRealm() { -// super(new AllowAllCredentialsMatcher()); -// setAuthenticationTokenClass(UsernamePasswordToken.class); -// //FIXME: 暂时禁用Cache -// setCachingEnabled(false); + @SuppressWarnings("unused") + private static Logger logger = LoggerFactory.getLogger(ShiroRealm.class); + + public ShiroRealm() { + super(new AllowAllCredentialsMatcher()); + setAuthenticationTokenClass(UsernamePasswordToken.class); + //FIXME: 暂时禁用Cache + setCachingEnabled(false); + } + + @Autowired + private SysUsersService sysUsersService; + + // @Autowired + // private ResourceService resourceService; + +// @Override +// protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { +// // String username = (String) principals.getPrimaryPrincipal(); +// // User user = userService.getUserByUserName(username); +// // // 授权 +// // SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); +// // if(StrUtils.isNotEmpty(user.getRoles())){ +// // authorizationInfo.setRoles(new HashSet(Arrays.asList(user.getRoles().split(",")))); +// // } +// // authorizationInfo.setStringPermissions(resourceService.getResourcePermissionSet(userService.getUserResourceIdSet(user))); +// // return authorizationInfo; // } // -// @Autowired -// private UserService userService; -// -// @Autowired -// private ResourceService resourceService; -// -// @Override -// protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { -// String username = (String) principals.getPrimaryPrincipal(); -// User user = userService.getUserByUserName(username); -// // 授权 -// SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); -// if(StrUtils.isNotEmpty(user.getRoles())){ -// authorizationInfo.setRoles(new HashSet(Arrays.asList(user.getRoles().split(",")))); -// } -// authorizationInfo.setStringPermissions(resourceService.getResourcePermissionSet(userService.getUserResourceIdSet(user))); -// return authorizationInfo; -// } -// -// @Override -// protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException { -// UsernamePasswordToken token = (UsernamePasswordToken) authcToken; -// String username = token.getUsername(); -// User user = userService.getUserByUserName(username); -// if (user == null) { -// throw new UnknownAccountException("未知用户"); -// } -// StringBuilder pwd = new StringBuilder(100); -// for (int i = 0; i < token.getPassword().length; i++) { -// pwd.append(token.getPassword()[i]); -// } -// if (!StrUtils.equals(user.getPassword(), HashUtils.md5(pwd.toString()))) { -// throw new AccountException("用户名密码不一致"); -// } -// ShiroWebUtils.saveCurrentUser(user); -// AuthenticationInfo authcInfo = new SimpleAuthenticationInfo(username, pwd.toString(), username); -// return authcInfo; -// } +// @Override +// protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException { +// UsernamePasswordToken token = (UsernamePasswordToken) authcToken; +// String username = token.getUsername(); +// SysUsers user = sysUsersService +// .selectOne(new EntityWrapper().where("name={0}", username).and("ifDel=0")); +// if (StatusEnum.isDisEnabled(user.getEnable())) { +// throw new AccountException("用户已经被禁用,请联系管理员!"); +// } +// StringBuilder pwd = new StringBuilder(100); +// for (int i = 0; i < token.getPassword().length; i++) { +// pwd.append(token.getPassword()[i]); +// } +// if (!StrUtils.equals(user.getPwd(), HashUtils.md5(pwd.toString()))) { +// throw new AccountException("用户名密码不一致"); +// } +// ShiroWebUtils.saveCurrentUser(user); +// AuthenticationInfo authcInfo = new SimpleAuthenticationInfo(username, pwd.toString(), username); +// return authcInfo; +// // User user = userService.getUserByUserName(username); +// // if (user == null) { +// // throw new UnknownAccountException("未知用户"); +// // } +// // StringBuilder pwd = new StringBuilder(100); +// // for (int i = 0; i < token.getPassword().length; i++) { +// // pwd.append(token.getPassword()[i]); +// // } +// // if (!StrUtils.equals(user.getPassword(), HashUtils.md5(pwd.toString()))) { +// // throw new AccountException("用户名密码不一致"); +// // } +// // ShiroWebUtils.saveCurrentUser(user); +// // AuthenticationInfo authcInfo = new SimpleAuthenticationInfo(username, pwd.toString(), username); +// // return authcInfo; +// } } diff --git a/mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/generator/.gitignore b/mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/generator/.gitignore new file mode 100644 index 0000000..f5d5a21 --- /dev/null +++ b/mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/generator/.gitignore @@ -0,0 +1 @@ +/MysqlGenerator.java -- 1.8.3.1