Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cloud-permission
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.permission
pica-cloud-permission
提交
a7dd5d04
提交
a7dd5d04
编写于
9月 10, 2019
作者:
dong.an
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
权限中台
上级
151a1d66
变更
24
显示空白字符变更
内嵌
并排
正在显示
24 个修改的文件
包含
195 行增加
和
97 行删除
+195
-97
PermissionServiceClient.java
...permission/permission/client/PermissionServiceClient.java
+5
-3
AuthTypeEnum.java
.../permission/permission/common/constants/AuthTypeEnum.java
+0
-1
GrantCodeEnum.java
...permission/permission/common/constants/GrantCodeEnum.java
+1
-1
AuthDto.java
.../pica/cloud/permission/permission/common/dto/AuthDto.java
+35
-16
GrantDto.java
...pica/cloud/permission/permission/common/dto/GrantDto.java
+21
-14
pom.xml
server/pom.xml
+2
-2
Constants.java
...oud/permission/permission/server/constants/Constants.java
+3
-0
DataPrivilegeController.java
...permission/server/controller/DataPrivilegeController.java
+2
-2
PermissionController.java
...on/permission/server/controller/PermissionController.java
+26
-2
GlobalExceptionHandler.java
...n/permission/server/exception/GlobalExceptionHandler.java
+23
-21
RoleResourceMapper.java
...rmission/permission/server/mapper/RoleResourceMapper.java
+2
-2
UserRoleMapper.java
...d/permission/permission/server/mapper/UserRoleMapper.java
+1
-1
PermissionCacheServiceImpl.java
...ssion/server/service/impl/PermissionCacheServiceImpl.java
+1
-0
PermissionServiceImpl.java
...permission/server/service/impl/PermissionServiceImpl.java
+12
-7
RoleServiceImpl.java
...ssion/permission/server/service/impl/RoleServiceImpl.java
+1
-0
DataPrivilegeValidation.java
...permission/server/validation/DataPrivilegeValidation.java
+2
-2
PermissionValidation.java
...on/permission/server/validation/PermissionValidation.java
+20
-14
ResourceValidation.java
...sion/permission/server/validation/ResourceValidation.java
+16
-6
RoleValidation.java
...rmission/permission/server/validation/RoleValidation.java
+6
-2
bootstrap-dev.properties
server/src/main/resources/bootstrap-dev.properties
+4
-1
bootstrap-prod.properties
server/src/main/resources/bootstrap-prod.properties
+3
-0
bootstrap-test1.properties
server/src/main/resources/bootstrap-test1.properties
+3
-0
bootstrap-test2.properties
server/src/main/resources/bootstrap-test2.properties
+3
-0
bootstrap-uat.properties
server/src/main/resources/bootstrap-uat.properties
+3
-0
未找到文件。
client/src/main/java/com/pica/cloud/permission/permission/client/PermissionServiceClient.java
浏览文件 @
a7dd5d04
...
@@ -6,9 +6,7 @@ import com.pica.cloud.permission.permission.common.dto.AuthResultDto;
...
@@ -6,9 +6,7 @@ import com.pica.cloud.permission.permission.common.dto.AuthResultDto;
import
com.pica.cloud.permission.permission.common.dto.GrantDto
;
import
com.pica.cloud.permission.permission.common.dto.GrantDto
;
import
com.pica.cloud.permission.permission.common.dto.UserRoleDto
;
import
com.pica.cloud.permission.permission.common.dto.UserRoleDto
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
/**
* @author andong
* @author andong
...
@@ -32,4 +30,8 @@ public interface PermissionServiceClient {
...
@@ -32,4 +30,8 @@ public interface PermissionServiceClient {
//鉴权
//鉴权
@PostMapping
(
"/permission/permission/auth"
)
@PostMapping
(
"/permission/permission/auth"
)
PicaResponse
<
AuthResultDto
>
auth
(
@RequestBody
AuthDto
authDto
);
PicaResponse
<
AuthResultDto
>
auth
(
@RequestBody
AuthDto
authDto
);
//初始化用户-角色缓存信息
@GetMapping
(
"/permission/permission/init/user"
)
PicaResponse
initUserRole
(
@RequestParam
(
"userId"
)
int
userId
);
}
}
common/src/main/java/com/pica/cloud/permission/permission/common/constants/AuthTypeEnum.java
浏览文件 @
a7dd5d04
...
@@ -4,7 +4,6 @@ package com.pica.cloud.permission.permission.common.constants;
...
@@ -4,7 +4,6 @@ package com.pica.cloud.permission.permission.common.constants;
* @author andong
* @author andong
* @create 2019/9/5
* @create 2019/9/5
*/
*/
@SuppressWarnings
(
"unused"
)
public
enum
AuthTypeEnum
{
public
enum
AuthTypeEnum
{
ROLE
(
1
,
"角色鉴权"
),
URL
(
2
,
"url鉴权"
);
ROLE
(
1
,
"角色鉴权"
),
URL
(
2
,
"url鉴权"
);
...
...
common/src/main/java/com/pica/cloud/permission/permission/common/constants/GrantCodeEnum.java
浏览文件 @
a7dd5d04
...
@@ -14,6 +14,6 @@ public enum GrantCodeEnum {
...
@@ -14,6 +14,6 @@ public enum GrantCodeEnum {
ADMIN
,
//成为机构管理员
ADMIN
,
//成为机构管理员
REMOVE_MAIN_ADMIN
,
//移除机构主管理员
REMOVE_MAIN_ADMIN
,
//移除机构主管理员
REMOVE_ADMIN
,
//移除机构管理员
REMOVE_ADMIN
,
//移除机构管理员
CERTIFY
;
//认证通过
CERTIFY
//认证通过
}
}
common/src/main/java/com/pica/cloud/permission/permission/common/dto/AuthDto.java
浏览文件 @
a7dd5d04
package
com
.
pica
.
cloud
.
permission
.
permission
.
common
.
dto
;
package
com
.
pica
.
cloud
.
permission
.
permission
.
common
.
dto
;
import
com.pica.cloud.permission.permission.common.constants.AuthTypeEnum
;
import
java.util.List
;
/**
/**
* @author andong
* @author andong
...
@@ -8,43 +8,54 @@ import com.pica.cloud.permission.permission.common.constants.AuthTypeEnum;
...
@@ -8,43 +8,54 @@ import com.pica.cloud.permission.permission.common.constants.AuthTypeEnum;
*/
*/
public
class
AuthDto
{
public
class
AuthDto
{
private
Integer
productType
;
private
int
productType
;
private
Integer
userId
;
private
int
userId
;
private
AuthTypeEnum
authType
;
private
int
authType
;
private
String
roleCode
;
private
List
<
String
>
roleCodes
;
private
String
url
;
private
String
url
;
private
boolean
dataAuth
=
false
;
private
boolean
dataAuth
;
private
String
sysCode
;
public
Integer
getProductType
()
{
public
AuthDto
(
int
productType
,
int
userId
,
int
authType
,
List
<
String
>
roleCodes
,
String
url
,
boolean
dataAuth
,
String
sysCode
)
{
this
.
productType
=
productType
;
this
.
userId
=
userId
;
this
.
authType
=
authType
;
this
.
roleCodes
=
roleCodes
;
this
.
url
=
url
;
this
.
dataAuth
=
dataAuth
;
this
.
sysCode
=
sysCode
;
}
public
int
getProductType
()
{
return
productType
;
return
productType
;
}
}
public
void
setProductType
(
Integer
productType
)
{
public
void
setProductType
(
int
productType
)
{
this
.
productType
=
productType
;
this
.
productType
=
productType
;
}
}
public
Integer
getUserId
()
{
public
int
getUserId
()
{
return
userId
;
return
userId
;
}
}
public
void
setUserId
(
Integer
userId
)
{
public
void
setUserId
(
int
userId
)
{
this
.
userId
=
userId
;
this
.
userId
=
userId
;
}
}
public
AuthTypeEnum
getAuthType
()
{
public
int
getAuthType
()
{
return
authType
;
return
authType
;
}
}
public
void
setAuthType
(
AuthTypeEnum
authType
)
{
public
void
setAuthType
(
int
authType
)
{
this
.
authType
=
authType
;
this
.
authType
=
authType
;
}
}
public
String
getRoleCode
()
{
public
List
<
String
>
getRoleCodes
()
{
return
roleCode
;
return
roleCode
s
;
}
}
public
void
setRoleCode
(
String
roleCode
)
{
public
void
setRoleCode
s
(
List
<
String
>
roleCodes
)
{
this
.
roleCode
=
roleCode
;
this
.
roleCode
s
=
roleCodes
;
}
}
public
String
getUrl
()
{
public
String
getUrl
()
{
...
@@ -62,4 +73,12 @@ public class AuthDto {
...
@@ -62,4 +73,12 @@ public class AuthDto {
public
void
setDataAuth
(
boolean
dataAuth
)
{
public
void
setDataAuth
(
boolean
dataAuth
)
{
this
.
dataAuth
=
dataAuth
;
this
.
dataAuth
=
dataAuth
;
}
}
public
String
getSysCode
()
{
return
sysCode
;
}
public
void
setSysCode
(
String
sysCode
)
{
this
.
sysCode
=
sysCode
;
}
}
}
common/src/main/java/com/pica/cloud/permission/permission/common/dto/GrantDto.java
浏览文件 @
a7dd5d04
package
com
.
pica
.
cloud
.
permission
.
permission
.
common
.
dto
;
package
com
.
pica
.
cloud
.
permission
.
permission
.
common
.
dto
;
import
com.pica.cloud.permission.permission.common.constants.GrantCodeEnum
;
/**
/**
* @author andong
* @author andong
* @create 2019/9/4
* @create 2019/9/4
*/
*/
public
class
GrantDto
{
public
class
GrantDto
{
private
Integer
productType
;
private
int
productType
;
private
Integer
userId
;
private
int
userId
;
private
GrantCodeEnum
grantCode
;
private
String
grantCode
;
private
Integer
createdId
;
private
int
createdId
;
private
String
sysCode
;
public
Integer
getProductType
()
{
public
int
getProductType
()
{
return
productType
;
return
productType
;
}
}
public
void
setProductType
(
Integer
productType
)
{
public
void
setProductType
(
int
productType
)
{
this
.
productType
=
productType
;
this
.
productType
=
productType
;
}
}
public
Integer
getUserId
()
{
public
int
getUserId
()
{
return
userId
;
return
userId
;
}
}
public
void
setUserId
(
Integer
userId
)
{
public
void
setUserId
(
int
userId
)
{
this
.
userId
=
userId
;
this
.
userId
=
userId
;
}
}
public
GrantCodeEnum
getGrantCode
()
{
public
String
getGrantCode
()
{
return
grantCode
;
return
grantCode
;
}
}
public
void
setGrantCode
(
GrantCodeEnum
grantCode
)
{
public
void
setGrantCode
(
String
grantCode
)
{
this
.
grantCode
=
grantCode
;
this
.
grantCode
=
grantCode
;
}
}
public
Integer
getCreatedId
()
{
public
int
getCreatedId
()
{
return
createdId
;
return
createdId
;
}
}
public
void
setCreatedId
(
Integer
createdId
)
{
public
void
setCreatedId
(
int
createdId
)
{
this
.
createdId
=
createdId
;
this
.
createdId
=
createdId
;
}
}
public
String
getSysCode
()
{
return
sysCode
;
}
public
void
setSysCode
(
String
sysCode
)
{
this
.
sysCode
=
sysCode
;
}
}
}
server/pom.xml
浏览文件 @
a7dd5d04
...
@@ -85,10 +85,10 @@
...
@@ -85,10 +85,10 @@
<artifactId>
spring-cloud-starter-zipkin
</artifactId>
<artifactId>
spring-cloud-starter-zipkin
</artifactId>
</dependency>
</dependency>
<dependency>
<
!-- <
dependency>
<groupId>org.springframework.kafka</groupId>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<artifactId>spring-kafka</artifactId>
</dependency>
</dependency>
-->
<dependency>
<dependency>
<groupId>
com.pica.cloud.permission
</groupId>
<groupId>
com.pica.cloud.permission
</groupId>
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/constants/Constants.java
浏览文件 @
a7dd5d04
...
@@ -16,6 +16,9 @@ public class Constants {
...
@@ -16,6 +16,9 @@ public class Constants {
public
static
final
String
KEY_ROLE_URL
=
"perm_role_url_"
;
//角色-资源
public
static
final
String
KEY_ROLE_URL
=
"perm_role_url_"
;
//角色-资源
public
static
final
String
KEY_ROLE_DATA
=
"perm_role_data_"
;
//角色-资源-数据权限
public
static
final
String
KEY_ROLE_DATA
=
"perm_role_data_"
;
//角色-资源-数据权限
//缓存失效时间
public
static
final
int
EXPIRE_TIMES
=
2592000
;
//30天
//数据分割符
//数据分割符
public
static
final
String
DATA_SPLIT
=
";;;"
;
public
static
final
String
DATA_SPLIT
=
";;;"
;
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/controller/DataPrivilegeController.java
浏览文件 @
a7dd5d04
...
@@ -38,7 +38,7 @@ public class DataPrivilegeController {
...
@@ -38,7 +38,7 @@ public class DataPrivilegeController {
@ApiOperation
(
"添加数据资源"
)
@ApiOperation
(
"添加数据资源"
)
@PostMapping
(
"/data-privilege"
)
@PostMapping
(
"/data-privilege"
)
public
PicaResponse
addDataPrivilege
(
DataPrivilege
dataPrivilege
)
{
public
PicaResponse
addDataPrivilege
(
@RequestBody
DataPrivilege
dataPrivilege
)
{
DataPrivilegeValidation
.
addDataPrivilegeValidate
(
dataPrivilege
);
DataPrivilegeValidation
.
addDataPrivilegeValidate
(
dataPrivilege
);
dataPrivilegeService
.
addDataPrivilege
(
dataPrivilege
);
dataPrivilegeService
.
addDataPrivilege
(
dataPrivilege
);
return
PicaResponse
.
toResponse
();
return
PicaResponse
.
toResponse
();
...
@@ -46,7 +46,7 @@ public class DataPrivilegeController {
...
@@ -46,7 +46,7 @@ public class DataPrivilegeController {
@ApiOperation
(
"修改数据资源"
)
@ApiOperation
(
"修改数据资源"
)
@PutMapping
(
"/data-privilege"
)
@PutMapping
(
"/data-privilege"
)
public
PicaResponse
updateDataPrivilege
(
DataPrivilege
dataPrivilege
)
{
public
PicaResponse
updateDataPrivilege
(
@RequestBody
DataPrivilege
dataPrivilege
)
{
DataPrivilegeValidation
.
updateDataPrivilegeValidate
(
dataPrivilege
);
DataPrivilegeValidation
.
updateDataPrivilegeValidate
(
dataPrivilege
);
dataPrivilegeService
.
updateDataPrivilege
(
dataPrivilege
);
dataPrivilegeService
.
updateDataPrivilege
(
dataPrivilege
);
return
PicaResponse
.
toResponse
();
return
PicaResponse
.
toResponse
();
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/controller/PermissionController.java
浏览文件 @
a7dd5d04
package
com
.
pica
.
cloud
.
permission
.
permission
.
server
.
controller
;
package
com
.
pica
.
cloud
.
permission
.
permission
.
server
.
controller
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
com.pica.cloud.permission.permission.common.dto.AuthDto
;
import
com.pica.cloud.permission.permission.common.dto.AuthDto
;
import
com.pica.cloud.permission.permission.common.dto.AuthResultDto
;
import
com.pica.cloud.permission.permission.common.dto.AuthResultDto
;
import
com.pica.cloud.permission.permission.common.dto.GrantDto
;
import
com.pica.cloud.permission.permission.common.dto.GrantDto
;
import
com.pica.cloud.permission.permission.server.service.PermissionCacheService
;
import
com.pica.cloud.permission.permission.server.service.PermissionService
;
import
com.pica.cloud.permission.permission.server.service.PermissionService
;
import
com.pica.cloud.permission.permission.server.validation.PermissionValidation
;
import
com.pica.cloud.permission.permission.server.validation.PermissionValidation
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -11,6 +13,9 @@ import io.swagger.annotations.ApiOperation;
...
@@ -11,6 +13,9 @@ import io.swagger.annotations.ApiOperation;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Set
;
/**
/**
* @author andong
* @author andong
* @create 2019/8/29
* @create 2019/8/29
...
@@ -22,10 +27,15 @@ public class PermissionController {
...
@@ -22,10 +27,15 @@ public class PermissionController {
@Autowired
@Autowired
private
PermissionService
permissionService
;
private
PermissionService
permissionService
;
@Autowired
private
PermissionCacheService
permissionCacheService
;
@Autowired
private
ICacheClient
cacheClient
;
@GetMapping
(
"/test"
)
@GetMapping
(
"/test"
)
public
PicaResponse
<
String
>
test
()
{
public
PicaResponse
test
(
@RequestParam
(
"key"
)
String
key
)
{
return
PicaResponse
.
toResponse
(
"test"
);
Set
<
String
>
set
=
cacheClient
.
smembers
(
key
);
return
PicaResponse
.
toResponse
(
set
);
}
}
@ApiOperation
(
"授权"
)
@ApiOperation
(
"授权"
)
...
@@ -44,4 +54,18 @@ public class PermissionController {
...
@@ -44,4 +54,18 @@ public class PermissionController {
return
PicaResponse
.
toResponse
(
result
);
return
PicaResponse
.
toResponse
(
result
);
}
}
@ApiOperation
(
"初始化角色-资源缓存信息"
)
@GetMapping
(
"/init/role-res"
)
public
PicaResponse
initAllRoleResource
()
{
permissionCacheService
.
initAllRoleResource
();
return
PicaResponse
.
toResponse
();
}
@ApiOperation
(
"初始化用户-角色缓存信息"
)
@GetMapping
(
"/init/user"
)
public
PicaResponse
initUserRole
(
@RequestParam
(
"userId"
)
int
userId
)
{
permissionCacheService
.
initUserRole
(
userId
);
return
PicaResponse
.
toResponse
();
}
}
}
server/src/main/java/com/pica/cloud/permission/permission/server/exception/GlobalExceptionHandler.java
浏览文件 @
a7dd5d04
//package com.pica.cloud.permission.permission.server.exception;
package
com
.
pica
.
cloud
.
permission
.
permission
.
server
.
exception
;
//
//
import
com.pica.cloud.foundation.entity.PicaException
;
//import com.pica.cloud.foundation.entity.PicaResponse;
import
com.pica.cloud.foundation.entity.PicaResponse
;
//import org.slf4j.Logger;
import
org.slf4j.Logger
;
//import org.slf4j.LoggerFactory;
import
org.slf4j.LoggerFactory
;
//import org.springframework.web.bind.annotation.ExceptionHandler;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
//import org.springframework.web.bind.annotation.RestControllerAdvice;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
@RestControllerAdvice
//
public
class
GlobalExceptionHandler
{
//@RestControllerAdvice
public
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
GlobalExceptionHandler
.
class
);
//public class GlobalExceptionHandler {
// public static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
@ExceptionHandler
(
Exception
.
class
)
//
public
PicaResponse
defaultErrorHandler
(
Throwable
t
){
// @ExceptionHandler(Exception.class)
if
(
t
instanceof
PicaException
)
{
// public PicaResponse defaultErrorHandler(HttpServletRequest request , HttpServletResponse response, Throwable e){
PicaException
ex
=
(
PicaException
)
t
;
// logger.error(e.getMessage(), e);
return
PicaResponse
.
toResponse
(
null
,
ex
.
getCode
(),
ex
.
getMsg
());
// return PicaResponse.toResponse(null, "500005", "服务内部异常");
}
// }
logger
.
error
(
t
.
getMessage
(),
t
);
//}
return
PicaResponse
.
toResponse
(
null
,
"500005"
,
"服务内部异常"
);
\ No newline at end of file
}
}
\ No newline at end of file
server/src/main/java/com/pica/cloud/permission/permission/server/mapper/RoleResourceMapper.java
浏览文件 @
a7dd5d04
...
@@ -19,9 +19,9 @@ public interface RoleResourceMapper {
...
@@ -19,9 +19,9 @@ public interface RoleResourceMapper {
int
deleteAll
(
@Param
(
"roleId"
)
int
roleId
,
@Param
(
"modifiedId"
)
int
modifiedId
);
int
deleteAll
(
@Param
(
"roleId"
)
int
roleId
,
@Param
(
"modifiedId"
)
int
modifiedId
);
int
checkResourceUsed
(
int
resourceId
);
Integer
checkResourceUsed
(
int
resourceId
);
int
checkDataPrivilegeUsed
(
int
dataPrivilegeId
);
Integer
checkDataPrivilegeUsed
(
int
dataPrivilegeId
);
List
<
RoleResourceDto
>
getByResourceId
(
int
resourceId
);
List
<
RoleResourceDto
>
getByResourceId
(
int
resourceId
);
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/mapper/UserRoleMapper.java
浏览文件 @
a7dd5d04
...
@@ -19,6 +19,6 @@ public interface UserRoleMapper {
...
@@ -19,6 +19,6 @@ public interface UserRoleMapper {
int
deleteUserRole
(
UserRole
userRole
);
int
deleteUserRole
(
UserRole
userRole
);
int
checkRoleUsed
(
int
roleId
);
Integer
checkRoleUsed
(
int
roleId
);
}
}
\ No newline at end of file
server/src/main/java/com/pica/cloud/permission/permission/server/service/impl/PermissionCacheServiceImpl.java
浏览文件 @
a7dd5d04
...
@@ -206,6 +206,7 @@ public class PermissionCacheServiceImpl implements PermissionCacheService {
...
@@ -206,6 +206,7 @@ public class PermissionCacheServiceImpl implements PermissionCacheService {
for
(
UserRoleDto
dto
:
list
)
{
for
(
UserRoleDto
dto
:
list
)
{
cacheClient
.
sadd
(
key
,
dto
.
getRoleCode
());
cacheClient
.
sadd
(
key
,
dto
.
getRoleCode
());
}
}
cacheClient
.
expire
(
key
,
Constants
.
EXPIRE_TIMES
);
//缓存过期时间30天
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
logger
.
error
(
ex
.
getMessage
(),
ex
);
}
}
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/service/impl/PermissionServiceImpl.java
浏览文件 @
a7dd5d04
...
@@ -33,14 +33,14 @@ public class PermissionServiceImpl implements PermissionService {
...
@@ -33,14 +33,14 @@ public class PermissionServiceImpl implements PermissionService {
@Override
@Override
public
AuthResultDto
auth
(
AuthDto
authDto
)
{
public
AuthResultDto
auth
(
AuthDto
authDto
)
{
if
(
authDto
.
getAuthType
()
==
AuthTypeEnum
.
ROLE
)
{
//判断用户是否具有角色
if
(
authDto
.
getAuthType
()
==
AuthTypeEnum
.
ROLE
.
code
()
)
{
//判断用户是否具有角色
if
(
authDto
.
getProductType
()
.
intValue
()
==
ProductTypeEnum
.
DOCTOR
.
code
())
{
if
(
authDto
.
getProductType
()
==
ProductTypeEnum
.
DOCTOR
.
code
())
{
return
this
.
doctorRoleAuth
(
authDto
);
return
this
.
doctorRoleAuth
(
authDto
);
}
else
{
}
else
{
//TODO
//TODO
}
}
}
else
if
(
authDto
.
getAuthType
()
==
AuthTypeEnum
.
URL
)
{
//判断用户是否具有该url访问权限
}
else
if
(
authDto
.
getAuthType
()
==
AuthTypeEnum
.
URL
.
code
()
)
{
//判断用户是否具有该url访问权限
if
(
authDto
.
getProductType
()
.
intValue
()
==
ProductTypeEnum
.
DOCTOR
.
code
())
{
if
(
authDto
.
getProductType
()
==
ProductTypeEnum
.
DOCTOR
.
code
())
{
return
this
.
doctorUrlAuth
(
authDto
);
return
this
.
doctorUrlAuth
(
authDto
);
}
else
{
}
else
{
//TODO
//TODO
...
@@ -51,13 +51,18 @@ public class PermissionServiceImpl implements PermissionService {
...
@@ -51,13 +51,18 @@ public class PermissionServiceImpl implements PermissionService {
//医生角色鉴权
//医生角色鉴权
private
AuthResultDto
doctorRoleAuth
(
AuthDto
authDto
)
{
private
AuthResultDto
doctorRoleAuth
(
AuthDto
authDto
)
{
boolean
access
=
cacheClient
.
sismember
(
Constants
.
KEY_DOCTOR_ROLE
+
authDto
.
getUserId
().
toString
(),
authDto
.
getRoleCode
());
for
(
String
roleCode
:
authDto
.
getRoleCodes
())
{
return
new
AuthResultDto
(
access
,
null
);
boolean
access
=
cacheClient
.
sismember
(
Constants
.
KEY_DOCTOR_ROLE
+
authDto
.
getUserId
(),
roleCode
);
if
(
access
)
{
return
new
AuthResultDto
(
true
,
null
);
}
}
return
new
AuthResultDto
(
false
,
null
);
}
}
//医生url鉴权
//医生url鉴权
private
AuthResultDto
doctorUrlAuth
(
AuthDto
authDto
)
{
private
AuthResultDto
doctorUrlAuth
(
AuthDto
authDto
)
{
Set
<
String
>
roleCodes
=
cacheClient
.
smembers
(
Constants
.
KEY_DOCTOR_ROLE
+
authDto
.
getUserId
()
.
toString
()
);
Set
<
String
>
roleCodes
=
cacheClient
.
smembers
(
Constants
.
KEY_DOCTOR_ROLE
+
authDto
.
getUserId
());
if
(
CollectionUtils
.
isEmpty
(
roleCodes
))
{
//用户无任何角色
if
(
CollectionUtils
.
isEmpty
(
roleCodes
))
{
//用户无任何角色
return
new
AuthResultDto
(
false
,
null
);
return
new
AuthResultDto
(
false
,
null
);
}
}
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/service/impl/RoleServiceImpl.java
浏览文件 @
a7dd5d04
...
@@ -70,5 +70,6 @@ public class RoleServiceImpl implements RoleService {
...
@@ -70,5 +70,6 @@ public class RoleServiceImpl implements RoleService {
role
.
setDeleteFlag
(
Constants
.
DELETE_FLAG_INVALID
);
role
.
setDeleteFlag
(
Constants
.
DELETE_FLAG_INVALID
);
role
.
setModifiedId
(
modifiedId
);
role
.
setModifiedId
(
modifiedId
);
role
.
setModifiedTime
(
new
Date
());
role
.
setModifiedTime
(
new
Date
());
roleMapper
.
updateByPrimaryKeySelective
(
role
);
}
}
}
}
server/src/main/java/com/pica/cloud/permission/permission/server/validation/DataPrivilegeValidation.java
浏览文件 @
a7dd5d04
...
@@ -33,8 +33,8 @@ public class DataPrivilegeValidation {
...
@@ -33,8 +33,8 @@ public class DataPrivilegeValidation {
if
(
dataPrivilege
.
getModifiedId
()
==
null
)
{
if
(
dataPrivilege
.
getModifiedId
()
==
null
)
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"操作人ID为空"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"操作人ID为空"
);
}
}
if
(
dataPrivilege
.
getResourceId
()
==
null
&&
StringUtils
.
isBlank
(
dataPrivilege
.
getDescription
())
if
(
StringUtils
.
isBlank
(
dataPrivilege
.
getDescription
())
&&
StringUtils
.
isBlank
(
dataPrivilege
.
getConfig
())
&&
StringUtils
.
isBlank
(
dataPrivilege
.
getConfig
())
&&
StringUtils
.
isBlank
(
dataPrivilege
.
getConfig
Ext
()))
{
&&
StringUtils
.
isBlank
(
dataPrivilege
.
getConfigExt
()))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"缺少必要参数"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"缺少必要参数"
);
}
}
}
}
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/validation/PermissionValidation.java
浏览文件 @
a7dd5d04
...
@@ -3,9 +3,11 @@ package com.pica.cloud.permission.permission.server.validation;
...
@@ -3,9 +3,11 @@ package com.pica.cloud.permission.permission.server.validation;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.permission.permission.common.constants.AuthTypeEnum
;
import
com.pica.cloud.permission.permission.common.constants.AuthTypeEnum
;
import
com.pica.cloud.permission.permission.common.constants.ProductTypeEnum
;
import
com.pica.cloud.permission.permission.common.dto.AuthDto
;
import
com.pica.cloud.permission.permission.common.dto.AuthDto
;
import
com.pica.cloud.permission.permission.common.dto.GrantDto
;
import
com.pica.cloud.permission.permission.common.dto.GrantDto
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.util.CollectionUtils
;
/**
/**
* @author andong
* @author andong
...
@@ -14,34 +16,38 @@ import org.apache.commons.lang.StringUtils;
...
@@ -14,34 +16,38 @@ import org.apache.commons.lang.StringUtils;
public
class
PermissionValidation
{
public
class
PermissionValidation
{
public
static
void
grantValidate
(
GrantDto
grantDto
)
{
public
static
void
grantValidate
(
GrantDto
grantDto
)
{
if
(
grantDto
.
getProductType
()
==
null
)
{
int
productType
=
grantDto
.
getProductType
();
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"产品线类型为空"
);
if
(
productType
!=
ProductTypeEnum
.
DOCTOR
.
code
()
&&
productType
!=
ProductTypeEnum
.
HEALTH
.
code
()
&&
productType
!=
ProductTypeEnum
.
ADMIN
.
code
())
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"产品线类型不正确"
);
}
}
if
(
grantDto
.
getUserId
()
==
null
)
{
if
(
grantDto
.
getUserId
()
<=
0
)
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"用户ID
为空
"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"用户ID
不正确
"
);
}
}
if
(
grantDto
.
getGrantCode
()
==
null
)
{
if
(
StringUtils
.
isBlank
(
grantDto
.
getGrantCode
())
)
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"授权场景编码为空"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"授权场景编码为空"
);
}
}
if
(
grantDto
.
getCreatedId
()
==
null
)
{
if
(
grantDto
.
getCreatedId
()
<=
0
)
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"操作人ID为空"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"操作人ID为空"
);
}
}
}
}
public
static
void
authValidate
(
AuthDto
authDto
)
{
public
static
void
authValidate
(
AuthDto
authDto
)
{
if
(
authDto
.
getProductType
()
==
null
)
{
int
productType
=
authDto
.
getProductType
();
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"产品线类型为空"
);
if
(
productType
!=
ProductTypeEnum
.
DOCTOR
.
code
()
&&
productType
!=
ProductTypeEnum
.
HEALTH
.
code
()
&&
productType
!=
ProductTypeEnum
.
ADMIN
.
code
())
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"产品线类型不正确"
);
}
}
if
(
authDto
.
getUserId
()
==
null
)
{
if
(
authDto
.
getUserId
()
<=
0
)
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"用户ID
为空
"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"用户ID
不正确
"
);
}
}
if
(
authDto
.
getAuthType
()
==
null
)
{
if
(
authDto
.
getAuthType
()
!=
AuthTypeEnum
.
ROLE
.
code
()
&&
authDto
.
getAuthType
()
!=
AuthTypeEnum
.
URL
.
code
()
)
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"鉴权类型
为空
"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"鉴权类型
不正确
"
);
}
}
if
(
authDto
.
getAuthType
()
==
AuthTypeEnum
.
ROLE
&&
StringUtils
.
isBlank
(
authDto
.
getRoleCode
()))
{
if
(
authDto
.
getAuthType
()
==
AuthTypeEnum
.
ROLE
.
code
()
&&
CollectionUtils
.
isEmpty
(
authDto
.
getRoleCodes
()))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"角色编码为空"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"角色编码为空"
);
}
}
if
(
authDto
.
getAuthType
()
==
AuthTypeEnum
.
URL
&&
StringUtils
.
isBlank
(
authDto
.
getUrl
()))
{
if
(
authDto
.
getAuthType
()
==
AuthTypeEnum
.
URL
.
code
()
&&
StringUtils
.
isBlank
(
authDto
.
getUrl
()))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"资源url为空"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"资源url为空"
);
}
}
}
}
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/validation/ResourceValidation.java
浏览文件 @
a7dd5d04
...
@@ -2,6 +2,7 @@ package com.pica.cloud.permission.permission.server.validation;
...
@@ -2,6 +2,7 @@ package com.pica.cloud.permission.permission.server.validation;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.permission.permission.common.constants.ProductTypeEnum
;
import
com.pica.cloud.permission.permission.common.constants.ResourceTypeEnum
;
import
com.pica.cloud.permission.permission.common.constants.ResourceTypeEnum
;
import
com.pica.cloud.permission.permission.server.entity.Resource
;
import
com.pica.cloud.permission.permission.server.entity.Resource
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
...
@@ -14,14 +15,23 @@ public class ResourceValidation {
...
@@ -14,14 +15,23 @@ public class ResourceValidation {
//添加资源校验
//添加资源校验
public
static
void
addResourceValidate
(
Resource
resource
)
{
public
static
void
addResourceValidate
(
Resource
resource
)
{
if
(
resource
.
getProductType
()
==
null
)
{
Integer
productType
=
resource
.
getProductType
();
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"产品线类型为空"
);
if
(
productType
==
null
||
(
productType
.
intValue
()
!=
ProductTypeEnum
.
DOCTOR
.
code
()
&&
productType
.
intValue
()
!=
ProductTypeEnum
.
HEALTH
.
code
()
&&
productType
.
intValue
()
!=
ProductTypeEnum
.
ADMIN
.
code
()))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"产品线类型不正确"
);
}
}
if
(
resource
.
getCategory
()
==
null
)
{
if
(
resource
.
getCategory
()
==
null
||
resource
.
getCategory
().
intValue
()
<=
0
)
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"系统分类
为空
"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"系统分类
不正确
"
);
}
}
if
(
resource
.
getType
()
==
null
)
{
Integer
type
=
resource
.
getType
();
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"资源类型为空"
);
if
(
type
==
null
||
(
type
.
intValue
()
!=
ResourceTypeEnum
.
SYSTEM
.
code
()
&&
type
.
intValue
()
!=
ResourceTypeEnum
.
PAGE
.
code
()
&&
type
.
intValue
()
!=
ResourceTypeEnum
.
MENU
.
code
()
&&
type
.
intValue
()
!=
ResourceTypeEnum
.
BUTTON
.
code
()
&&
type
.
intValue
()
!=
ResourceTypeEnum
.
API
.
code
()
&&
type
.
intValue
()
!=
ResourceTypeEnum
.
FILE
.
code
()))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"资源类型不正确"
);
}
}
if
(
StringUtils
.
isBlank
(
resource
.
getCode
()))
{
if
(
StringUtils
.
isBlank
(
resource
.
getCode
()))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"资源编码为空"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"资源编码为空"
);
...
...
server/src/main/java/com/pica/cloud/permission/permission/server/validation/RoleValidation.java
浏览文件 @
a7dd5d04
...
@@ -2,6 +2,7 @@ package com.pica.cloud.permission.permission.server.validation;
...
@@ -2,6 +2,7 @@ package com.pica.cloud.permission.permission.server.validation;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.permission.permission.common.constants.ProductTypeEnum
;
import
com.pica.cloud.permission.permission.server.entity.Role
;
import
com.pica.cloud.permission.permission.server.entity.Role
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
...
@@ -12,8 +13,11 @@ import org.apache.commons.lang.StringUtils;
...
@@ -12,8 +13,11 @@ import org.apache.commons.lang.StringUtils;
public
class
RoleValidation
{
public
class
RoleValidation
{
public
static
void
addRoleValidate
(
Role
role
)
{
public
static
void
addRoleValidate
(
Role
role
)
{
if
(
role
.
getProductType
()
==
null
)
{
Integer
productType
=
role
.
getProductType
();
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"产品线类型为空"
);
if
(
productType
==
null
||
(
productType
.
intValue
()
!=
ProductTypeEnum
.
DOCTOR
.
code
()
&&
productType
.
intValue
()
!=
ProductTypeEnum
.
HEALTH
.
code
()
&&
productType
.
intValue
()
!=
ProductTypeEnum
.
ADMIN
.
code
()))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"产品线类型不正确"
);
}
}
if
(
StringUtils
.
isBlank
(
role
.
getCode
()))
{
if
(
StringUtils
.
isBlank
(
role
.
getCode
()))
{
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"角色编码为空"
);
throw
new
PicaException
(
PicaResultCode
.
PARAM_IS_BLANK
.
code
(),
"角色编码为空"
);
...
...
server/src/main/resources/bootstrap-dev.properties
浏览文件 @
a7dd5d04
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
ribbon.ReadTimeout
=
120000
ribbon.ReadTimeout
=
120000
ribbon.ConnectTimeout
=
60000
ribbon.ConnectTimeout
=
60000
#------------ Please don't change above configurations ------------
#------------ Please don't change above configurations ------------
spring.jackson.date-format
=
yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone
=
GMT+8
\ No newline at end of file
server/src/main/resources/bootstrap-prod.properties
浏览文件 @
a7dd5d04
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
ribbon.ReadTimeout
=
120000
ribbon.ReadTimeout
=
120000
ribbon.ConnectTimeout
=
60000
ribbon.ConnectTimeout
=
60000
#------------ Please don't change above configurations ------------
#------------ Please don't change above configurations ------------
spring.jackson.date-format
=
yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone
=
GMT+8
server/src/main/resources/bootstrap-test1.properties
浏览文件 @
a7dd5d04
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
ribbon.ReadTimeout
=
120000
ribbon.ReadTimeout
=
120000
ribbon.ConnectTimeout
=
60000
ribbon.ConnectTimeout
=
60000
#------------ Please don't change above configurations ------------
#------------ Please don't change above configurations ------------
spring.jackson.date-format
=
yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone
=
GMT+8
server/src/main/resources/bootstrap-test2.properties
浏览文件 @
a7dd5d04
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
ribbon.ReadTimeout
=
120000
ribbon.ReadTimeout
=
120000
ribbon.ConnectTimeout
=
60000
ribbon.ConnectTimeout
=
60000
#------------ Please don't change above configurations ------------
#------------ Please don't change above configurations ------------
spring.jackson.date-format
=
yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone
=
GMT+8
server/src/main/resources/bootstrap-uat.properties
浏览文件 @
a7dd5d04
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
...
@@ -27,3 +27,6 @@ feign.hystrix.enabled=false
ribbon.ReadTimeout
=
120000
ribbon.ReadTimeout
=
120000
ribbon.ConnectTimeout
=
60000
ribbon.ConnectTimeout
=
60000
#------------ Please don't change above configurations ------------
#------------ Please don't change above configurations ------------
spring.jackson.date-format
=
yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone
=
GMT+8
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录