Compare commits

..

12 Commits

Author SHA1 Message Date
fec580093b 调整GAEA APP包配置信息 2022-12-02 09:45:47 +08:00
c681dd9072 add db init script; update gaea version 2022-11-23 15:42:27 +08:00
14093b1ce1 更新GAEA到版本1.4.0 2022-09-30 14:54:35 +08:00
89b96fb053 修改token信息位置 2022-09-30 14:54:29 +08:00
947853479b 更新GAEA到版本1.5.0: token 认证方式 2022-09-14 09:41:49 +08:00
6f520513a2 Merge pull request #1 from synebula-myths/dev
Dev
2022-08-26 10:47:38 +08:00
cbe75da254 更新GAEA到版本1.4.0 2022-08-26 10:43:25 +08:00
72cb8cf5ca Merge branch 'dev' 2020-12-07 10:52:18 +08:00
91710bebbe Merge branch 'dev' 2020-11-10 22:49:39 +08:00
c96dbea004 Merge branch 'master' of https://github.com/synebula/zeus 2020-11-10 22:48:31 +08:00
72ef467d09 忽略日志文件 2020-11-01 00:05:22 +08:00
e3067edf53 增加权限相关代码 2020-11-01 00:04:51 +08:00
39 changed files with 215 additions and 98 deletions

View File

@@ -14,15 +14,13 @@ buildscript {
}
}
allprojects {
subprojects {
group 'com.synebula'
version version
}
subprojects {
ext {
version '0.9.0'
gaea_version = '1.2.0'
gaea_version = '1.5.1'
spring_version = "2.7.0"
}

68
doc/db-init.js Normal file
View File

@@ -0,0 +1,68 @@
db.role.insertMany([
{
_id: "admin",
name: "管理员"
},
{
_id: "VE",
name: "Viewer"
},
{
_id: "RE",
name: "RE工程师"
},
{
_id: "FE",
name: "FE工程师"
}
]
);
db.group.insertOne(
{
_id: "1",
name: "管理员"
}
);
db.user.insertOne({
name: "admin",
password: "1f22f6ce6e58a7326c5b5dd197973105",
realName: "管理员",
phone: "18654551561",
role: "admin",
group: "1",
alive: true,
_class: "com.synebula.zeus.domain.model.rbac.User"
});
db.system.insertOne({
_id: "1",
name: "web",
uri: "",
order: 1,
})
db.page.insertMany([
{ "_id": "1", "name": "groups", "uri": "/groups", "parent": "0", "system": "1", "order": 5, "icon": "group" },
{ "_id": "2", "name": "roles", "uri": "/roles", "parent": "0", "system": "1", "order": 6, "icon": "manual" },
{ "_id": "3", "name": "users", "uri": "/users", "parent": "0", "system": "1", "order": 7, "icon": "user" },
{ "_id": "4", "name": "sheet", "uri": "/repair/sheets/all", "parent": "0", "system": "1", "order": 1, "icon": "sheet" },
{ "_id": "5", "name": "sheet", "uri": "/repair/sheets/permission", "parent": "1", "system": "1", "order": 2, "icon": "sheet" },
{ "_id": "6", "name": "spare", "uri": "/repair/spares/all", "parent": "1", "system": "1", "order": 3, "icon": "setting" },
{ "_id": "7", "name": "spare", "uri": "/repair/spares/permission", "parent": "1", "system": "1", "order": 4, "icon": "setting" },
{ "_id": "8", "name": "manual", "uri": "/manual", "parent": "0", "system": "1", "order": 8, "icon": "manual" }
])
db.authority.insertMany([
{ "role": "admin", "resource": "1", "type": "System", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
{ "role": "admin", "resource": "1", "type": "Page", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
{ "role": "admin", "resource": "2", "type": "Page", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
{ "role": "admin", "resource": "3", "type": "Page", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
{ "role": "admin", "resource": "4", "type": "Page", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
{ "role": "admin", "resource": "5", "type": "Page", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
{ "role": "admin", "resource": "6", "type": "Page", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
{ "role": "admin", "resource": "7", "type": "Page", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
{ "role": "admin", "resource": "8", "type": "Page", "authority": "Allow", "alive": true, "_class": "com.synebula.zeus.domain.model.rbac.Authority" },
])

View File

@@ -14,7 +14,7 @@ dependencies {
api project(":src:zeus.domain")
api project(":src:zeus.query")
api project(":src:zeus.repository")
api "com.synebula:gaea.app:$gaea_version"
api("com.synebula:gaea.app:$gaea_version")
api "com.synebula:gaea.spring:$gaea_version"
api "com.synebula:gaea.mongodb:$gaea_version"

View File

@@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication
@SpringBootApplication
open class Application
class Application
fun main(args: Array<String>) {
SpringApplication.run(Application::class.java, *args)

View File

@@ -9,7 +9,10 @@ import org.springframework.stereotype.Component
@Component
class ZeusAspect : AppAspect() {
@Pointcut("target(com.synebula.gaea.app.IApplication)")
/**
* 切片执行所有继承[com.synebula.gaea.app.controller.IApplication]接口的类
*/
@Pointcut("target(com.synebula.gaea.app.controller.IApplication)")
override fun func() {
}
}

View File

@@ -1,28 +1,18 @@
package com.synebula.zeus.app.config
import com.google.gson.Gson
import com.synebula.gaea.app.component.security.WebSecurity
import com.synebula.gaea.data.message.HttpMessageFactory
import com.synebula.gaea.data.serialization.json.IJsonSerializer
import com.synebula.gaea.domain.repository.IRepositoryFactory
import com.synebula.gaea.mongodb.query.MongodbQueryFactory
import com.synebula.gaea.mongodb.repository.MongodbRepositoryFactory
import com.synebula.gaea.query.IQueryFactory
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.ComponentScan
import org.springframework.context.annotation.ComponentScan.Filter
import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.FilterType
import org.springframework.data.mongodb.core.MongoTemplate
@Configuration
@ComponentScan(
basePackages = ["com.synebula.gaea.app.component"],
excludeFilters = [Filter(type = FilterType.ASSIGNABLE_TYPE, classes = [WebSecurity::class])]
)
class ZeusBeans {
@Bean
fun repoFactory(template: MongoTemplate): IRepositoryFactory {
return MongodbRepositoryFactory(template)
}
@@ -43,4 +33,9 @@ class ZeusBeans {
}
}
}
@Bean
fun httpMessageFactory(serializer: IJsonSerializer): HttpMessageFactory {
return HttpMessageFactory(serializer)
}
}

View File

@@ -1,10 +1,10 @@
package com.synebula.zeus.app.config
import com.synebula.gaea.app.autoconfig.service.ServiceScan
import com.synebula.gaea.mongodb.autoconfig.MongodbRepoScan
import com.synebula.gaea.mongodb.autoconfig.MongodbRepositoryScan
import org.springframework.stereotype.Component
@Component
@ServiceScan(basePackages = ["com.synebula.zeus.domain.service"])
@MongodbRepoScan(basePackages = ["com.synebula.zeus.domain.repository", "com.synebula.zeus.repository", "com.synebula.zeus.query"])
@MongodbRepositoryScan(basePackages = ["com.synebula.zeus.domain.repository", "com.synebula.zeus.repository", "com.synebula.zeus.query"])
class ZeusServices

View File

@@ -1,8 +1,10 @@
package com.synebula.zeus.app.controller
import com.synebula.gaea.app.IApplication
import com.synebula.gaea.app.component.security.TokenManager
import com.synebula.gaea.app.struct.HttpMessage
import com.synebula.gaea.app.controller.IApplication
import com.synebula.gaea.app.security.session.UserSession
import com.synebula.gaea.app.security.session.UserSessionManager
import com.synebula.gaea.data.message.HttpMessage
import com.synebula.gaea.data.message.HttpMessageFactory
import com.synebula.gaea.data.message.Status
import com.synebula.gaea.data.serialization.json.IJsonSerializer
import com.synebula.gaea.log.ILogger
@@ -11,10 +13,8 @@ import com.synebula.zeus.domain.service.cmd.rbac.UserCmd
import com.synebula.zeus.domain.service.contr.rbac.IUserService
import com.synebula.zeus.query.contr.IUserQuery
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import org.springframework.security.core.context.SecurityContextHolder
import org.springframework.web.bind.annotation.*
@RestController
@RequestMapping("/sign")
@@ -27,11 +27,14 @@ class SignInOutApp(override var logger: ILogger) : IApplication {
lateinit var userService: IUserService
@Autowired
lateinit var tokenHelper: TokenManager
lateinit var userSessionManager: UserSessionManager
@Autowired
lateinit var serializer: IJsonSerializer
@Autowired
override lateinit var httpMessageFactory: HttpMessageFactory
override var name: String = "用户登录管理"
@Method("用户登录")
@@ -40,20 +43,34 @@ class SignInOutApp(override var logger: ILogger) : IApplication {
return this.safeExecute("用户登录出现异常") {
val message = this.userQuery.signIn(name, password)
if (message.data != null) {
val user = message.data
user!!.remember = remember ?: false
val token = tokenHelper.sign(message.data!!)
it.data = token
val user = message.data!!
val token = userSessionManager.signIn(user.uid, user)
user.remember = remember ?: false
user.token = token
it.data = user
} else {
it.load(message)
}
}
}
@Method("登录用户信息")
@GetMapping("/user")
fun signUser(): HttpMessage {
val userSession = SecurityContextHolder.getContext().authentication.principal as UserSession
return httpMessageFactory.create(userSession.user)
}
@Method("用户登出")
@PostMapping("/out")
fun signOut(user: String): HttpMessage {
return HttpMessage(user)
fun signOut(): HttpMessage {
val token = this.userSession()?.token
return if (token != null) {
userSessionManager.signOut(token)
this.httpMessageFactory.create(token)
} else
this.httpMessageFactory.create(Status.Unauthorized, "")
}
@Method("用户注册")

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.app.controller.rbac
import com.synebula.gaea.app.Application
import com.synebula.gaea.app.struct.HttpMessage
import com.synebula.gaea.app.controller.Application
import com.synebula.gaea.data.message.HttpMessage
import com.synebula.gaea.log.ILogger
import com.synebula.gaea.spring.aop.annotation.Method
import com.synebula.zeus.domain.service.cmd.rbac.AuthorityBatchAddCmd
@@ -25,7 +25,7 @@ class AuthorityApp(
@PostMapping("/batch")
fun add(@RequestBody cmd: AuthorityBatchAddCmd): HttpMessage {
this.authorityService.add(cmd)
return HttpMessage()
return this.httpMessageFactory.create()
}
@Method("根据资源和角色删除权限")
@@ -36,6 +36,6 @@ class AuthorityApp(
@RequestBody resource: List<String>
): HttpMessage {
this.authorityService.removeByResourceRole(type, resource, role)
return HttpMessage()
return this.httpMessageFactory.create()
}
}

View File

@@ -1,6 +1,6 @@
package com.synebula.zeus.app.controller.rbac
import com.synebula.gaea.app.Application
import com.synebula.gaea.app.controller.Application
import com.synebula.gaea.log.ILogger
import com.synebula.gaea.query.IQueryFactory
import com.synebula.zeus.domain.service.cmd.rbac.GroupCmd
@@ -16,5 +16,5 @@ class GroupApp(
factory: IQueryFactory,
logger: ILogger
) : Application<GroupCmd, GroupView, String>(
"组信息", service, factory.createQuery(GroupView::class.java), logger
"用户组信息", service, factory.createQuery(GroupView::class.java), logger
)

View File

@@ -1,6 +1,6 @@
package com.synebula.zeus.app.controller.rbac
import com.synebula.gaea.app.Application
import com.synebula.gaea.app.controller.Application
import com.synebula.gaea.log.ILogger
import com.synebula.gaea.query.IQueryFactory
import com.synebula.zeus.domain.service.cmd.rbac.RoleCmd

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.app.controller.rbac
import com.synebula.gaea.app.Application
import com.synebula.gaea.app.struct.HttpMessage
import com.synebula.gaea.app.controller.Application
import com.synebula.gaea.data.message.HttpMessage
import com.synebula.gaea.data.message.Status
import com.synebula.gaea.data.serialization.json.IJsonSerializer
import com.synebula.gaea.log.ILogger

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.app.controller.rbac.resource
import com.synebula.gaea.app.Application
import com.synebula.gaea.app.struct.HttpMessage
import com.synebula.gaea.app.controller.Application
import com.synebula.gaea.data.message.HttpMessage
import com.synebula.gaea.log.ILogger
import com.synebula.gaea.spring.aop.annotation.Method
import com.synebula.zeus.domain.service.cmd.rbac.resource.InterfaceCmd

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.app.controller.rbac.resource
import com.synebula.gaea.app.Application
import com.synebula.gaea.app.struct.HttpMessage
import com.synebula.gaea.app.controller.Application
import com.synebula.gaea.data.message.HttpMessage
import com.synebula.gaea.log.ILogger
import com.synebula.gaea.spring.aop.annotation.Method
import com.synebula.gaea.spring.aop.annotation.Module
@@ -28,7 +28,7 @@ class PageApp(
@Method("获取角色系统下有权页面")
@GetMapping("/in-system/{system}/authorized/{role}")
fun authorized(@PathVariable system: String, @PathVariable role: String): HttpMessage {
val msg = HttpMessage()
val msg = this.httpMessageFactory.create()
msg.data = this.pageQuery.authorized(role, system)
return msg
}

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.app.controller.rbac.resource
import com.synebula.gaea.app.Application
import com.synebula.gaea.app.struct.HttpMessage
import com.synebula.gaea.app.controller.Application
import com.synebula.gaea.data.message.HttpMessage
import com.synebula.gaea.log.ILogger
import com.synebula.gaea.spring.aop.annotation.Method
import com.synebula.zeus.domain.service.cmd.rbac.resource.SystemCmd

View File

@@ -4,6 +4,33 @@ server:
spring:
application:
name: gaea.app
sign-in-url: /sign/in
allow-multi-sign: false
data:
mongodb:
uri: mongodb://127.0.0.1/zeus
mail:
send: true
target: ge.com
sender: gehsrv@163.com
protocol: smtp
host: smtp.163.com
port: 465
username: gehsrv@163.com
password: SRBPJBLFFVVCPZLZ
default-encoding: UTF-8
properties:
mail:
imap:
ssl:
socketFactory:
fallback: false
smtp:
auth: true
ssl:
enable: true
socketFactory:
class: com.fintech.modules.base.util.mail.MailSSLSocketFactory
starttls:
enable: true
required: true

View File

@@ -31,7 +31,7 @@
</layout>
</appender>
<root level="warn">
<appender-ref ref="file"/>
<root level="info">
<appender-ref ref="console"/>
</root>
</configuration>

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.domain.model.rbac
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.domain.model.AggregateRoot
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.env.ResourceType
class Authority(override var id: String? = null) : AggregateRoot<String>() {

View File

@@ -1,8 +1,10 @@
package com.synebula.zeus.domain.model.rbac
import com.synebula.gaea.data.permission.PermissionType
import com.synebula.gaea.domain.model.AggregateRoot
class Role(override var id: String? = null) : AggregateRoot<String>() {
var name = ""
var desc = ""
var permissionType = PermissionType.Minimum
}

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.domain.service.cmd.rbac
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.domain.service.Command
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.env.ResourceType
class AuthorityBatchAddCmd : Command() {

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.domain.service.cmd.rbac
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.domain.service.Command
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.env.ResourceType
class AuthorityCmd : Command() {

View File

@@ -1,9 +1,11 @@
package com.synebula.zeus.domain.service.cmd.rbac
import com.synebula.gaea.data.permission.PermissionType
import com.synebula.gaea.domain.service.Command
class RoleCmd : Command() {
var id: String? = null
var name = ""
var desc = ""
var permissionType = PermissionType.Minimum
}

View File

@@ -1,13 +1,18 @@
package com.synebula.zeus.domain.service.impl.rbac
import com.synebula.gaea.bus.DomainSubscribe
import com.synebula.gaea.data.message.DataMessage
import com.synebula.gaea.data.message.Status
import com.synebula.gaea.data.serialization.IObjectMapper
import com.synebula.gaea.domain.event.BeforeRemoveEvent
import com.synebula.gaea.domain.repository.IRepositoryFactory
import com.synebula.gaea.domain.service.ICommand
import com.synebula.gaea.domain.service.Service
import com.synebula.gaea.exception.NoticeUserException
import com.synebula.gaea.ext.toMd5
import com.synebula.gaea.log.ILogger
import com.synebula.zeus.domain.model.rbac.Group
import com.synebula.zeus.domain.model.rbac.Role
import com.synebula.zeus.domain.model.rbac.User
import com.synebula.zeus.domain.service.component.IUserNotifier
import com.synebula.zeus.domain.service.contr.rbac.IUserService
@@ -20,24 +25,17 @@ class UserService(
var logger: ILogger
) : Service<User, String>(User::class.java, factory.createRepository(User::class.java), mapper), IUserService {
// init {
// groupService.addBeforeRemoveListener(this.clazz.name) { id ->
// val msg = Message()
// if (this.repository.count(mapOf(Pair("group", id)), this.clazz) > 0) {
// msg.status = Status.Failure
// msg.message = "组下还有用户"
// }
// msg
// }
// roleService.addBeforeRemoveListener(this.clazz.name) { id ->
// val msg = Message()
// if (this.repository.count(mapOf(Pair("role", id)), this.clazz) > 0) {
// msg.status = Status.Failure
// msg.message = "角色下还有用户"
// }
// msg
// }
// }
@DomainSubscribe(domainClass = Role::class, messageClass = BeforeRemoveEvent::class)
fun beforeRoleRemove(event: BeforeRemoveEvent<Role, String>) {
if (this.repository.count(mapOf(Pair("role", event.id!!))) > 0)
throw NoticeUserException("角色下还有用户")
}
@DomainSubscribe(BeforeRemoveEvent::class, Group::class)
fun beforeGroupRemove(event: BeforeRemoveEvent<Group, String>) {
if (this.repository.count(mapOf(Pair("group", event.id!!))) > 0)
throw NoticeUserException("用户组下还有用户")
}
override fun add(command: ICommand): DataMessage<String> {
val user = this.map(command)
@@ -65,7 +63,7 @@ class UserService(
this.repository.update(user)
DataMessage(Status.Success, "用户${user.name}激活成功")
} else {
logger.warn(this, "用户${user.name}激活失败, {key: ${key}, token: ${token}")
logger.warn(this, "用户${user.name}激活失败, {key: ${key}, token: $token")
DataMessage(Status.Failure, "用户${user.name}激活失败, 请从系统发送的邮件链接激活用户")
}
}
@@ -93,7 +91,10 @@ class UserService(
this.repository.update(user)
DataMessage()
} else {
logger.warn(this, "用户重置${user.name}密码失败, 系统密码修改令牌:${user.token}, {key: ${key} , token: ${token}")
logger.warn(
this,
"用户重置${user.name}密码失败, 系统密码修改令牌:${user.token}, {key: $key , token: $token"
)
DataMessage(Status.Failure, "用户重置密码失败, 如需重置密码请从系统发送的邮件链接中重置")
}
}

View File

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

View File

@@ -1,5 +1,8 @@
package com.synebula.zeus.env
/**
* 资源类型
*/
enum class ResourceType {
System,
Page,

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.query.contr
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.query.IQuery
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.env.ResourceType
import com.synebula.zeus.query.view.AuthorityView

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.query.contr.resouce
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.query.IQuery
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.query.view.resource.InterfaceView
interface IInterfaceQuery : IQuery<InterfaceView, String> {

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.query.contr.resouce
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.query.IQuery
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.query.view.resource.PageView
interface IPageQuery : IQuery<PageView, String> {

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.query.contr.resouce
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.query.IQuery
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.query.view.resource.SystemView
interface ISystemQuery : IQuery<SystemView, String> {

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.query.impl
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.mongodb.query.MongodbQuery
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.env.ResourceType
import com.synebula.zeus.query.contr.IAuthorityQuery
import com.synebula.zeus.query.view.AuthorityView

View File

@@ -2,6 +2,7 @@ package com.synebula.zeus.query.impl
import com.synebula.gaea.data.message.DataMessage
import com.synebula.gaea.data.message.Status
import com.synebula.gaea.data.permission.PermissionType
import com.synebula.gaea.ext.toMd5
import com.synebula.gaea.mongodb.query.MongodbQuery
import com.synebula.gaea.mongodb.whereId
@@ -32,7 +33,8 @@ class UserQuery(template: MongoTemplate) :
SignUserView(
user.id, user.realName ?: "",
user.role ?: "", role?.name ?: "",
user.group ?: "", group?.name ?: ""
user.group ?: "", group?.name ?: "",
role?.permissionType ?: PermissionType.None
)
)
} else

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.query.impl.resouce
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.mongodb.query.MongodbQuery
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.env.ResourceType
import com.synebula.zeus.query.contr.IAuthorityQuery
import com.synebula.zeus.query.contr.resouce.IInterfaceQuery
@@ -26,7 +26,7 @@ class InterfaceQuery(
if (authority == AuthorityType.Deny)
return listOf()
}
val params = mutableMapOf<String, Any>()
val params = mutableMapOf<String, String>()
if (system != null) params["system"] = system
val interfaces = this.list(params)
val authorities = this.authorityQuery.authorized(ResourceType.Interface, role)

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.query.impl.resouce
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.mongodb.query.MongodbQuery
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.env.ResourceType
import com.synebula.zeus.query.contr.IAuthorityQuery
import com.synebula.zeus.query.contr.resouce.IPageQuery
@@ -24,7 +24,7 @@ class PageQuery(template: MongoTemplate, var authorityQuery: IAuthorityQuery, va
if (authority == AuthorityType.Deny)
return listOf()
}
val params = mutableMapOf<String, Any>()
val params = mutableMapOf<String, String>()
if (system != null) params["system"] = system
val pages = this.list(params)
val authorities = this.authorityQuery.authorized(ResourceType.Page, role)

View File

@@ -1,7 +1,7 @@
package com.synebula.zeus.query.impl.resouce
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.gaea.mongodb.query.MongodbQuery
import com.synebula.zeus.env.AuthorityType
import com.synebula.zeus.env.ResourceType
import com.synebula.zeus.query.contr.IAuthorityQuery
import com.synebula.zeus.query.contr.resouce.ISystemQuery

View File

@@ -1,6 +1,6 @@
package com.synebula.zeus.query.view
import com.synebula.zeus.env.AuthorityType
import com.synebula.gaea.data.permission.AuthorityType
import com.synebula.zeus.env.ResourceType
class AuthorityView() {

View File

@@ -9,7 +9,7 @@ import com.synebula.gaea.query.Where
class GroupView {
var id: String? = null
@Where(Operator.like)
@Where(Operator.Like)
var name = ""
var desc = ""

View File

@@ -1,5 +1,6 @@
package com.synebula.zeus.query.view
import com.synebula.gaea.data.permission.PermissionType
import com.synebula.gaea.query.Table
@Table("role")
@@ -7,4 +8,5 @@ class RoleView {
var id: String? = null
var name = ""
var desc = ""
var permissionType = PermissionType.Minimum
}

View File

@@ -1,5 +1,7 @@
package com.synebula.zeus.query.view
import com.synebula.gaea.data.permission.PermissionType
class SignUserView(
/**
* 用户id
@@ -30,5 +32,7 @@ class SignUserView(
* 组名称
*/
var gname: String = "",
var remember: Boolean = false
var permissionType: PermissionType = PermissionType.Minimum,
var remember: Boolean = false,
var token: String = ""
)

View File

@@ -12,7 +12,7 @@ class UserView {
var password: String = ""
@Where(Operator.like)
@Where(Operator.Like)
var realName: String? = null
var phone: String? = null