7 Star 34 Fork 13

Ahoo-Wang / CoSec

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ContainsConditionMatcher.kt 1.71 KB
一键复制 编辑 原始数据 按行查看 历史
Ahoo-Wang 提交于 2023-07-25 21:50 . feat: support Expression. (#204)
/*
* Copyright [2021-present] [ahoo wang <ahoowang@qq.com> (https://github.com/Ahoo-Wang)].
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package me.ahoo.cosec.policy.condition.part
import me.ahoo.cosec.api.configuration.Configuration
import me.ahoo.cosec.api.context.SecurityContext
import me.ahoo.cosec.api.policy.ConditionMatcher
import me.ahoo.cosec.policy.condition.ConditionMatcherFactory
class ContainsConditionMatcher(configuration: Configuration) :
PartConditionMatcher(ContainsConditionMatcherFactory.TYPE, configuration) {
private val value: String = configuration.getRequired(ContainsConditionMatcher::value.name).asString()
private val ignoreCase: Boolean =
configuration.get(CONDITION_MATCHER_IGNORE_CASE_KEY)?.asBoolean() ?: false
override fun matchPart(partValue: String, securityContext: SecurityContext): Boolean {
return partValue.contains(value, ignoreCase)
}
}
class ContainsConditionMatcherFactory : ConditionMatcherFactory {
companion object {
const val TYPE = "contains"
}
override val type: String
get() = TYPE
override fun create(configuration: Configuration): ConditionMatcher {
return ContainsConditionMatcher(configuration)
}
}
Kotlin
1
https://gitee.com/AhooWang/CoSec.git
git@gitee.com:AhooWang/CoSec.git
AhooWang
CoSec
CoSec
main

搜索帮助