diff --git a/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysRoleService.java b/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysRoleService.java
new file mode 100644
index 0000000000000000000000000000000000000000..8f14fe5e12cac917781d6fb65085ec02c10c142b
--- /dev/null
+++ b/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysRoleService.java
@@ -0,0 +1,25 @@
+package com.muses.taoshop.manager.service;
+
+import com.muses.taoshop.manager.entity.SysRole;
+
+import java.util.List;
+
+/**
+ *
+ * 角色业务接口
+ *
+ *
+ * @author nicky
+ * @version 1.00.00
+ *
+ * 修改记录
+ * 修改后版本: 修改人: 修改日期: 2018.10.21 21:57 修改内容:
+ *
+ */
+public interface ISysRoleService {
+ /**
+ * 获取所有用户角色
+ * @return
+ */
+ List listUserRole(int userId);
+}
diff --git a/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysUserService.java b/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysUserService.java
index 1788ebbc7b4d1b2770c1178ca5cb8d1596827ad4..0e7d08fa772d8d972df0a0b65bb5ae59ed51b98b 100644
--- a/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysUserService.java
+++ b/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysUserService.java
@@ -1,5 +1,6 @@
package com.muses.taoshop.manager.service;
+import com.muses.taoshop.manager.entity.SysRole;
import com.muses.taoshop.manager.entity.SysUser;
import java.util.Set;
@@ -45,4 +46,11 @@ public interface ISysUserService {
* @return
*/
SysUser getUserInfoByUsername(String username);
+
+ /**
+ * 通过用户id获取用户角色集合
+ * @param userId
+ * @return
+ */
+ Set getUserRoles(int userId);
}
diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/mapper/SysRoleMapper.java b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/mapper/SysRoleMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..5431baaa6d99691057912d44360cb8ac9db032b3
--- /dev/null
+++ b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/mapper/SysRoleMapper.java
@@ -0,0 +1,26 @@
+package com.muses.taoshop.manager.mapper;
+
+import com.muses.taoshop.common.core.database.annotation.MybatisRepository;
+import com.muses.taoshop.manager.entity.SysRole;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ *
+ * 角色操作Mapper接口
+ *
+ *
+ * @author nicky
+ * @version 1.00.00
+ *
+ * 修改记录
+ * 修改后版本: 修改人: 修改日期: 2018.10.21 21:55 修改内容:
+ *
+ */
+@MybatisRepository
+public interface SysRoleMapper {
+
+ List listUserRole(@Param("userId")int userId);
+
+}
diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/MenuServiceImpl.java b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/MenuServiceImpl.java
index 377cb6513b27116a0af3bc3745cbca71c2cdd4dc..0485d81f843780d3530aa1eaab1ec3b6b850020d 100644
--- a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/MenuServiceImpl.java
+++ b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/MenuServiceImpl.java
@@ -13,4 +13,5 @@ package com.muses.taoshop.manager.service;
*
*/
public class MenuServiceImpl {
+
}
diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysRoleServiceImpl.java b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysRoleServiceImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..d632046641955e9cfa413b6e3d5281ba03f0dc83
--- /dev/null
+++ b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysRoleServiceImpl.java
@@ -0,0 +1,38 @@
+package com.muses.taoshop.manager.service;
+
+import com.muses.taoshop.manager.entity.SysRole;
+import com.muses.taoshop.manager.mapper.SysRoleMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ * 角色业务类
+ *
+ *
+ * @author nicky
+ * @version 1.00.00
+ *
+ * 修改记录
+ * 修改后版本: 修改人: 修改日期: 2018.10.21 21:59 修改内容:
+ *
+ */
+@Service
+public class SysRoleServiceImpl implements ISysRoleService {
+
+ @Autowired
+ SysRoleMapper sysRoleMapper;
+
+ /**
+ * 获取所有用户角色
+ *
+ * @param userId
+ * @return
+ */
+ @Override
+ public List listUserRole(int userId) {
+ return sysRoleMapper.listUserRole(userId);
+ }
+}
diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysUserServiceImpl.java b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysUserServiceImpl.java
index 75c18be1ea89b056bf4e6aa01f24226c051cc9f9..de3244989c3c1c88a90b0763a4658d457d6eb3e3 100644
--- a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysUserServiceImpl.java
+++ b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysUserServiceImpl.java
@@ -3,6 +3,7 @@ package com.muses.taoshop.manager.service;
import com.muses.taoshop.manager.entity.Operation;
import com.muses.taoshop.manager.entity.Permission;
import com.muses.taoshop.manager.entity.SysRole;
+import com.muses.taoshop.manager.mapper.SysRoleMapper;
import com.muses.taoshop.manager.mapper.SysUserMapper;
import com.muses.taoshop.manager.entity.SysUser;
import com.muses.taoshop.manager.service.ISysUserService;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Service;
import javax.management.relation.Role;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
/**
@@ -31,6 +33,8 @@ public class SysUserServiceImpl implements ISysUserService{
@Autowired
SysUserMapper sysUserMapper;
+ @Autowired
+ SysRoleMapper sysRoleMapper;
@Override
public SysUser getSysUser(String username , String password) {
@@ -53,6 +57,18 @@ public class SysUserServiceImpl implements ISysUserService{
return roleStrs;
}
+ /**
+ * 通过用户id获取用户角色集合
+ * @param userId
+ * @return
+ */
+ @Override
+ public Set getUserRoles(int userId) {
+ List roleList = sysRoleMapper.listUserRole(userId);
+ Set roles = new HashSet<>(roleList);
+ return roles;
+ }
+
/**
* 获取用户权限
* @param username
@@ -61,7 +77,7 @@ public class SysUserServiceImpl implements ISysUserService{
public Set getPermissions(String username) {
SysUser user = this.getUserInfoByUsername(username);
Set roles = user.getRoles();
- /** 创建一个HashSet来存放角色权限信息 **/
+ /* 创建一个HashSet来存放角色权限信息 */
Set permissions = new HashSet();
for(SysRole r : roles) {
for (Permission p : r.getPermissions()){
diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/resources/mybatis/SysRoleMapper.xml b/src/taoshop-manager/taoshop-manager-service/src/main/resources/mybatis/SysRoleMapper.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5fa8313e8ab6089687811befa552cb21bbeda2ab
--- /dev/null
+++ b/src/taoshop-manager/taoshop-manager-service/src/main/resources/mybatis/SysRoleMapper.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ roleId, roleName, roleDesc, role
+
+
+
+
+
\ No newline at end of file
diff --git a/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/core/shiro/ShiroRealm.java b/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/core/shiro/ShiroRealm.java
index 75f87f91461e24e3c8ad90a508547091f7a00b9a..c374ccb85eed07f47de10ff1391cb53fc970996b 100644
--- a/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/core/shiro/ShiroRealm.java
+++ b/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/core/shiro/ShiroRealm.java
@@ -41,15 +41,15 @@ public class ShiroRealm extends AuthorizingRealm {
SysUser user = userService.getUserInfoByUsername(username);
- /**检测是否有此用户 **/
+ /* 检测是否有此用户 */
if(user == null){
throw new UnknownAccountException();//没有找到账号异常
}
- /**检验账号是否被锁定 **/
+ /* 检验账号是否被锁定 */
if(Boolean.TRUE.equals(user.getLocked())){
throw new LockedAccountException();//抛出账号锁定异常
}
- /**AuthenticatingRealm使用CredentialsMatcher进行密码匹配**/
+ /* AuthenticatingRealm使用CredentialsMatcher进行密码匹配 */
if(null != username && null != password){
return new SimpleAuthenticationInfo(username, password, getName());
}else{
diff --git a/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/web/controller/LoginController.java b/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/web/controller/LoginController.java
index f5a365295cf2e6aeb5f2774970ebaffb09f95806..ab6d30f7d8eef0f0ba4fe3f741b0adf9970abd9c 100644
--- a/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/web/controller/LoginController.java
+++ b/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/web/controller/LoginController.java
@@ -7,6 +7,7 @@ import com.muses.taoshop.manager.entity.Menu;
import com.muses.taoshop.manager.entity.Permission;
import com.muses.taoshop.manager.entity.SysRole;
import com.muses.taoshop.manager.entity.SysUser;
+import com.muses.taoshop.manager.service.ISysRoleService;
import com.muses.taoshop.manager.service.ISysUserService;
import com.muses.taoshop.manager.util.MenuTreeUtil;
import org.apache.commons.lang3.StringUtils;
@@ -56,6 +57,8 @@ public class LoginController extends BaseController {
@Autowired
ISysUserService iSysUserService;
+ @Autowired
+ ISysRoleService iSysRoleService;
@RequestMapping(value = "/toLogin")
@GetMapping
@@ -137,13 +140,13 @@ public class LoginController extends BaseController {
@RequestMapping(value="/toIndex")
public ModelAndView toMain() throws AuthenticationException{
ModelAndView mv = this.getModelAndView();
- /**获取Shiro管理的Session**/
+ /* 获取Shiro管理的Session */
Subject subject = SecurityUtils.getSubject();
Session session = subject.getSession();
SysUser user = (SysUser)session.getAttribute(Constants.SESSION_USER);
if(user != null){
- Set roles = user.getRoles();
+ Set roles = iSysUserService.getUserRoles(user.getId());
Set permissions = new HashSet();
if(!CollectionUtils.isEmpty(roles)) {
for (SysRole r : roles) {
@@ -151,7 +154,7 @@ public class LoginController extends BaseController {
}
}
- /**获取用户可以查看的菜单**/
+ /* 获取用户可以查看的菜单 */
List