1 Star 0 Fork 0

peter / fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
acls.go 1.16 KB
一键复制 编辑 原始数据 按行查看 历史
muralisr 提交于 2019-10-08 10:48 . [FAB-16652] check for empty acl api ref
/*
Copyright State Street Corp. 2018 All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package channelconfig
import (
pb "github.com/hyperledger/fabric/protos/peer"
)
// aclsProvider provides mappings for resource to policy names
type aclsProvider struct {
aclPolicyRefs map[string]string
}
func (ag *aclsProvider) PolicyRefForAPI(aclName string) string {
return ag.aclPolicyRefs[aclName]
}
// this translates policies to absolute paths if needed
func newAPIsProvider(acls map[string]*pb.APIResource) *aclsProvider {
aclPolicyRefs := make(map[string]string)
for key, acl := range acls {
if len(acl.PolicyRef) == 0 {
logger.Warningf("Policy reference for resource '%s' is specified, but empty, falling back to default", key)
continue
}
// If the policy is fully qualified, ie to /Channel/Application/Readers leave it alone
// otherwise, make it fully qualified referring to /Channel/Application/policyName
if '/' != acl.PolicyRef[0] {
aclPolicyRefs[key] = "/" + ChannelGroupKey + "/" + ApplicationGroupKey + "/" + acl.PolicyRef
} else {
aclPolicyRefs[key] = acl.PolicyRef
}
}
return &aclsProvider{
aclPolicyRefs: aclPolicyRefs,
}
}
1
https://gitee.com/peter_code_git/fabric.git
git@gitee.com:peter_code_git/fabric.git
peter_code_git
fabric
fabric
v1.4.7

搜索帮助

53164aa7 5694891 3bd8fe86 5694891