Merge branch 'dev'

This commit is contained in:
2020-12-07 10:52:18 +08:00
5 changed files with 11 additions and 10 deletions

View File

@@ -21,8 +21,8 @@ allprojects {
subprojects { subprojects {
ext { ext {
version '0.5.0' version '0.5.2'
gaea_version = '0.6.0' gaea_version = '0.6.1'
spring_version = "2.3.0.RELEASE" spring_version = "2.3.0.RELEASE"
} }

View File

@@ -1,6 +1,7 @@
package com.synebula.zeus.env package com.synebula.zeus.env
enum class PermissionType { enum class PermissionType {
Default,
Deny, Deny,
Allow Allow
} }

View File

@@ -9,5 +9,5 @@ interface IPermissionQuery : IQuery {
fun resourcePermissions(resourceType: ResourceType, role: String): List<PermissionView> fun resourcePermissions(resourceType: ResourceType, role: String): List<PermissionView>
fun authentication(resourceType: ResourceType, resource: String, role: String): PermissionType? fun authentication(resourceType: ResourceType, resource: String, role: String): PermissionType
} }

View File

@@ -31,7 +31,7 @@ class PageQuery(template: MongoTemplate, var permissionQuery: IPermissionQuery,
val permissions = this.permissionQuery.resourcePermissions(ResourceType.Page, role) val permissions = this.permissionQuery.resourcePermissions(ResourceType.Page, role)
return pages.filter { i -> return pages.filter { i ->
val permission = permissions.find { p -> i.id == p.resource } val permission = permissions.find { p -> i.id == p.resource }
permission == null || permission.authority == PermissionType.Allow permission != null && permission.authority == PermissionType.Allow
} }
} }
@@ -44,4 +44,4 @@ class PageQuery(template: MongoTemplate, var permissionQuery: IPermissionQuery,
this.clazz, this.collection(this.clazz)) ?: return null this.clazz, this.collection(this.clazz)) ?: return null
return this.authentication(page.id!!, role) return this.authentication(page.id!!, role)
} }
} }

View File

@@ -21,13 +21,13 @@ class PermissionQuery(template: MongoTemplate) : MongoQuery(template), IPermissi
), this.clazz, this.collection) ), this.clazz, this.collection)
} }
override fun authentication(resourceType: ResourceType, resource: String, role: String): PermissionType? { override fun authentication(resourceType: ResourceType, resource: String, role: String): PermissionType {
val permission = this.template.findOne( val permission = this.template.findOne(
Query.query( Query.query(
Criteria.where("type").`is`(resourceType) Criteria.where("type").`is`(resourceType)
.and("resource").`is`(resource) .and("resource").`is`(resource)
.and("role").`is`(role) .and("role").`is`(role)
), this.clazz, this.collection) ), this.clazz, this.collection)
return permission?.authority return permission?.authority ?: PermissionType.Default
} }
} }