| | |
| | | */ |
| | | public interface RolePermissionMapper extends CustomMapper<RolePermission> { |
| | | |
| | | @Select("select p.name from tb_role_permission rp inner join tb_permission p on rp.permission_id = p.id inner join tb_user_role ur\n" + |
| | | "on rp.role_id = ur.role_id\n" + |
| | | "where ur.user_id=1 \n") |
| | | List<Permission> getPermissions(Integer userId); |
| | | |
| | | List<String> findPermissionsByUserId(@Param("userId") int userId); |
| | | |
| | | List<Permission> getPermissionListByUserId(Integer userId, Integer status); |
| | | List<Permission> getPermissionListByUserId(Integer userId); |
| | | |
| | | List<Permission> getPermissionListByMenuId(Integer roleId, Integer menuId); |
| | | |
| | |
| | | return mapper.insertBatchSomeColumn(rolePermissions)== rolePermissions.size(); |
| | | } |
| | | |
| | | public List<Permission> getPermissions(Integer userId) { |
| | | return mapper.getPermissions(userId); |
| | | } |
| | | |
| | | public List<Permission> getPermissionListByMenuId(Integer roleId, Integer menuId) { |
| | | return mapper.getPermissionListByMenuId(roleId,menuId); |
| | | } |
| | | |
| | | public List<Permission> getPermissionListByUserId(Integer userId) { |
| | | return mapper.getPermissionListByUserId(userId,null); |
| | | return mapper.getPermissionListByUserId(userId); |
| | | } |
| | | |
| | | public boolean updateBatch(List<RolePermission> rolePermissions) { |
| | |
| | | import javax.annotation.Resource; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 处理 shiro认证,授权,和数据库交互 |
| | |
| | | System.out.println("=========执行了UserBridgeService.getAuthorization方法=========="); |
| | | SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); |
| | | //添加Roles和Permissions |
| | | //本项目主要使用permissions |
| | | List<String> roles = findRolesByUserId(user.getId()); |
| | | List<String> perms = findPermissionsByUserId(user.getId()); |
| | | |
| | |
| | | } |
| | | |
| | | private List<String> findPermissionsByUserId(int userId) { |
| | | List<String> perms = rolePermissionMapper.findPermissionsByUserId(userId); |
| | | List<Permission> permissionList = rolePermissionMapper.getPermissionListByUserId(userId); |
| | | List<String> perms = permissionList.stream().map(Permission::getValue).collect(Collectors.toList()); |
| | | return perms; |
| | | } |
| | | |
| | |
| | | </update> |
| | | |
| | | |
| | | <select id="findPermissionsByUserId" resultType="java.lang.String"> |
| | | select p.name from tb_user_role ur,tb_role_permission rp,tb_permission p |
| | | where ur.role_id = rp.role_id |
| | | and rp.permission_id=p.id |
| | | and user_id=#{userId}; |
| | | </select> |
| | | <select id="getPermissionListByUserId" resultType="Permission"> |
| | | SELECT |
| | | p.* |