From b1017df4f0e9bbd05343ba46c1d2f4b87b3d7945 Mon Sep 17 00:00:00 2001 From: winLsy <18332763730@163.com> Date: Fri, 16 Mar 2018 13:13:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BD=86=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E6=97=B6=E6=8A=A5=E9=94=99=E3=80=82=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=94=A8=E6=88=B7=E6=9C=AA=E6=8B=A5=E6=9C=89?= =?UTF-8?q?=E7=9A=84=E8=A7=92=E8=89=B2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boot-starter-security-oauth/pom.xml | 5 +++++ .../AuthorizationProviderConfig.java | 2 +- .../AuthorizationResourceConfig.java | 8 +++---- .../config/DynamicDataSourceConfig.java | 6 ++--- .../config/param/MybatisParamConfig.java | 2 +- .../oauth/impl/UserDetailsServiceImpl.java | 2 +- .../upms/controller/UpmsRoleController.java | 22 +++++++++++++++++++ .../micro/fast/upms/dao/UpmsRoleMapper.java | 14 ++++++++++++ .../fast/upms/service/UpmsRoleService.java | 10 +++++++++ .../service/impl/UpmsRoleServiceImpl.java | 10 +++++++++ .../main/resources/mappers/UpmsRoleMapper.xml | 10 ++++++++- 11 files changed, 80 insertions(+), 11 deletions(-) diff --git a/boot-starter/boot-starter-security-oauth/pom.xml b/boot-starter/boot-starter-security-oauth/pom.xml index 76f14b9..e2f6cfe 100644 --- a/boot-starter/boot-starter-security-oauth/pom.xml +++ b/boot-starter/boot-starter-security-oauth/pom.xml @@ -29,6 +29,11 @@ org.springframework.boot spring-boot-starter-data-redis + + org.springframework.boot + spring-boot-configuration-processor + true + mysql mysql-connector-java diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationProviderConfig.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationProviderConfig.java index dfba3fa..0f9128a 100644 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationProviderConfig.java +++ b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationProviderConfig.java @@ -21,7 +21,7 @@ import java.util.ArrayList; import java.util.List; /** - * OAuth2协议标准服务商实现配置类,配置token的生成存储策略 + * OAuth2协议标准服务商实现配置类,配置token的生成存储策略。用于第三方的应用进行登录 * @author lsy */ @Configuration diff --git a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationResourceConfig.java b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationResourceConfig.java index 92a8e92..e8d8b1c 100644 --- a/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationResourceConfig.java +++ b/boot-starter/boot-starter-security-oauth/src/main/java/com/micro/fast/security/app/config/authorization2/AuthorizationResourceConfig.java @@ -15,7 +15,7 @@ import org.springframework.security.oauth2.config.annotation.web.configuration.R import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; /** - * OAuth2协议标准服务提供实现配置类,资源服务器的配置 + * OAuth2协议标准服务提供实现配置类,资源服务器的配置。用于受信任的自家的应用和进行密码模式的直接登录 * @author lsy */ @Configuration @@ -65,12 +65,14 @@ public class AuthorizationResourceConfig extends ResourceServerConfigurerAdapter //定义身份认证失败后处理对象 .failureHandler(msAuthenticationFailureHandler) .and() - .authorizeRequests()//下面是权限配置 + //下面是权限配置 + .authorizeRequests() //当访问这个页面的时候不进行身份认证,对用户自定义的登录页也不进行权限认证 .antMatchers(SecurityConstants.MOBILE_LOGIN_PROCESSOR_URI , SecurityConstants.FORM_LOGIN_PROCESSOR_URI , SecurityConstants.GET_VALIDATE_CODE_URI , SecurityConstants.LOGIN_PAGE + , "/druid/**" ) .permitAll() //任何请求 @@ -84,6 +86,4 @@ public class AuthorizationResourceConfig extends ResourceServerConfigurerAdapter .apply(smsCodeAuthenticationSecurityConfig) .and(); } - - } diff --git a/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/DynamicDataSourceConfig.java b/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/DynamicDataSourceConfig.java index 20dc798..e221250 100644 --- a/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/DynamicDataSourceConfig.java +++ b/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/DynamicDataSourceConfig.java @@ -33,15 +33,15 @@ public class DynamicDataSourceConfig { public static final String DYNAMIC_DATA_SOURCE = "dynamicDataSource"; /** - * 当dataSource存在时 + * 当masterDataSource存在时,dataSource是从数据源 */ @Resource(name = DATA_SOURCE) private DataSource dataSource; /** - * 从数据源 + * 主数据源 */ - @Autowired + @Autowired(required = false) @Qualifier(MASTER_DATA_SOURCE) private DataSource masterDataSource; diff --git a/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/param/MybatisParamConfig.java b/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/param/MybatisParamConfig.java index 565a688..f0640c8 100644 --- a/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/param/MybatisParamConfig.java +++ b/boot-starter/boot-starter-ssm/src/main/java/com/micro/fast/common/config/param/MybatisParamConfig.java @@ -24,7 +24,7 @@ import java.util.ArrayList; @Setter public class MybatisParamConfig { /** - * pojo所在的包 + * entity所在的包,多个请使用逗号分隔 */ @NotNull private String typeAliasesPackage; diff --git a/ms/oauth/src/main/java/com/micro/fast/oauth/impl/UserDetailsServiceImpl.java b/ms/oauth/src/main/java/com/micro/fast/oauth/impl/UserDetailsServiceImpl.java index fb5302c..a4e08e6 100644 --- a/ms/oauth/src/main/java/com/micro/fast/oauth/impl/UserDetailsServiceImpl.java +++ b/ms/oauth/src/main/java/com/micro/fast/oauth/impl/UserDetailsServiceImpl.java @@ -38,7 +38,7 @@ public class UserDetailsServiceImpl implements UserDetailsService { //刷新令牌必须有ROLE_USER权限 User user = new User(username,upmsUser.getPassword() ,enable,true,true,enable - , AuthorityUtils.createAuthorityList("admin","ROLE_USER")); + , AuthorityUtils.createAuthorityList("admin","ROLE_USER")); return user; } } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRoleController.java b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRoleController.java index 1fc2a8e..e19f535 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRoleController.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/controller/UpmsRoleController.java @@ -13,6 +13,7 @@ import org.springframework.validation.BindException; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import javax.validation.constraints.NotNull; import javax.websocket.server.PathParam; import java.util.ArrayList; @@ -65,10 +66,31 @@ public class UpmsRoleController { return upmsRoleService.deleteByIds(ids); } + /** + * 根据用户的id 查询用户所拥有的角色 + * @param userId + * @return + */ @ApiOperation("根据用户id查询角色") @GetMapping("/userId") public ServerResponse getRolesByUserId(@RequestParam("userId") Integer userId){ return upmsRoleService.getRolesByUserId(userId); } + /** + * @param userId 用户的id + * @param roleName 角色名称 + * @param pageNum + * @param pageSize + * @return + */ + @ApiOperation("根据用户id和角色名称查询角色") + @GetMapping("/selectRolesUserNotHaveByConditionPage") + public ServerResponse selectRolesUserNotHaveByConditionPage(@RequestParam("userId") @NotNull Integer userId, + @RequestParam(value = "roleName",required = false) String roleName, + @RequestParam(required = false,defaultValue = "1") int pageNum, + @RequestParam(required = false,defaultValue = "10") int pageSize){ + return upmsRoleService.selectRolesUserNotHaveByConditionPage(userId, roleName, pageSize, pageNum); + } + } diff --git a/ms/upms/src/main/java/com/micro/fast/upms/dao/UpmsRoleMapper.java b/ms/upms/src/main/java/com/micro/fast/upms/dao/UpmsRoleMapper.java index af78aae..fd5898c 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/dao/UpmsRoleMapper.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/dao/UpmsRoleMapper.java @@ -32,5 +32,19 @@ public interface UpmsRoleMapper extends SsmMapper { @Override int deleteByPrimaryKeys(List integers); + /** + * 根据用户 + * @param userId 根据用户id查询已拥有的角色 + * @return + */ List selectRoleJoinWithUserId(@Param("userId") Integer userId); + + /** + * 根据角色名称查询用户未拥有的角色 + * @param userId 用户的id + * @param roleName 角色的名称 + * @return + */ + List selectRolesUserNotHaveByConditionPage(@Param("userId") Integer userId,@Param("roleName") String roleName); + } \ No newline at end of file diff --git a/ms/upms/src/main/java/com/micro/fast/upms/service/UpmsRoleService.java b/ms/upms/src/main/java/com/micro/fast/upms/service/UpmsRoleService.java index 46dba31..2bd44a8 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/service/UpmsRoleService.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/service/UpmsRoleService.java @@ -8,4 +8,14 @@ import com.micro.fast.common.service.SsmService; */ public interface UpmsRoleService extends SsmService{ ServerResponse getRolesByUserId(Integer useId); + + /** + * 根据用户id和角色名称查询用户所拥有的角色 + * @param userId 用户的id + * @param roleName 角色名称 + * @param pageSize 单页的数量 + * @param pageNum 页码 + * @return + */ + ServerResponse selectRolesUserNotHaveByConditionPage(Integer userId,String roleName,int pageSize,int pageNum); } \ No newline at end of file diff --git a/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsRoleServiceImpl.java b/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsRoleServiceImpl.java index 2b2f283..37ba684 100644 --- a/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsRoleServiceImpl.java +++ b/ms/upms/src/main/java/com/micro/fast/upms/service/impl/UpmsRoleServiceImpl.java @@ -1,5 +1,7 @@ package com.micro.fast.upms.service.impl; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.micro.fast.boot.starter.common.response.ServerResponse; import com.micro.fast.common.service.impl.SsmServiceImpl; import com.micro.fast.upms.dao.UpmsRoleMapper; @@ -35,4 +37,12 @@ implements UpmsRoleService,InitializingBean { List roles = mapper.selectRoleJoinWithUserId(useId); return ServerResponse.successMsgData("根据用户id查询角色成功",roles); } + + @Override + public ServerResponse selectRolesUserNotHaveByConditionPage(Integer userId, String roleName, int pageSize, int pageNum) { + PageHelper.startPage(pageNum,pageSize,"ctime_desc"); + List roles = mapper.selectRolesUserNotHaveByConditionPage(userId, roleName); + PageInfo pageInfo = new PageInfo(roles); + return ServerResponse.successData(pageInfo); + } } diff --git a/ms/upms/src/main/resources/mappers/UpmsRoleMapper.xml b/ms/upms/src/main/resources/mappers/UpmsRoleMapper.xml index 7d4ea48..4a9e609 100644 --- a/ms/upms/src/main/resources/mappers/UpmsRoleMapper.xml +++ b/ms/upms/src/main/resources/mappers/UpmsRoleMapper.xml @@ -116,6 +116,7 @@ version = #{version,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} + SELECT FROM upms_role WHERE - id IN (SELECT upms_user_role.user_role_id WHERE user_id = #{userId}) + id IN (SELECT role_id from upms_user_role WHERE user_id = #{userId}) + + + \ No newline at end of file