diff --git a/build.gradle b/build.gradle index cb4aa1a..726eea1 100644 --- a/build.gradle +++ b/build.gradle @@ -21,8 +21,8 @@ allprojects { subprojects { ext { - version '0.5.0' - gaea_version = '0.6.0' + version '0.5.2' + gaea_version = '0.6.1' spring_version = "2.3.0.RELEASE" } diff --git a/src/zeus.env/src/main/kotlin/com/synebula/zeus/env/PermissionType.kt b/src/zeus.env/src/main/kotlin/com/synebula/zeus/env/PermissionType.kt index 1df9a95..845023d 100644 --- a/src/zeus.env/src/main/kotlin/com/synebula/zeus/env/PermissionType.kt +++ b/src/zeus.env/src/main/kotlin/com/synebula/zeus/env/PermissionType.kt @@ -1,6 +1,7 @@ package com.synebula.zeus.env enum class PermissionType { + Default, Deny, Allow -} \ No newline at end of file +} diff --git a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/contr/resouce/IPermissionQuery.kt b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/contr/resouce/IPermissionQuery.kt index 2b3d781..3e66d9a 100644 --- a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/contr/resouce/IPermissionQuery.kt +++ b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/contr/resouce/IPermissionQuery.kt @@ -9,5 +9,5 @@ interface IPermissionQuery : IQuery { fun resourcePermissions(resourceType: ResourceType, role: String): List - fun authentication(resourceType: ResourceType, resource: String, role: String): PermissionType? -} \ No newline at end of file + fun authentication(resourceType: ResourceType, resource: String, role: String): PermissionType +} diff --git a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/resouce/PageQuery.kt b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/resouce/PageQuery.kt index 5e1fd92..d40c1c2 100644 --- a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/resouce/PageQuery.kt +++ b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/resouce/PageQuery.kt @@ -31,7 +31,7 @@ class PageQuery(template: MongoTemplate, var permissionQuery: IPermissionQuery, val permissions = this.permissionQuery.resourcePermissions(ResourceType.Page, role) return pages.filter { i -> 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 return this.authentication(page.id!!, role) } -} \ No newline at end of file +} diff --git a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/resouce/PermissionQuery.kt b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/resouce/PermissionQuery.kt index 520a5d3..24f176b 100644 --- a/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/resouce/PermissionQuery.kt +++ b/src/zeus.query/src/main/kotlin/com/synebula/zeus/query/impl/resouce/PermissionQuery.kt @@ -21,13 +21,13 @@ class PermissionQuery(template: MongoTemplate) : MongoQuery(template), IPermissi ), 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( Query.query( Criteria.where("type").`is`(resourceType) .and("resource").`is`(resource) .and("role").`is`(role) ), this.clazz, this.collection) - return permission?.authority + return permission?.authority ?: PermissionType.Default } -} \ No newline at end of file +}