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}
+