63 Star 183 Fork 3

Gitee 极速下载/hyperledger-fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/hyperledger/fabric
克隆/下载
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,
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mirrors/hyperledger-fabric.git
git@gitee.com:mirrors/hyperledger-fabric.git
mirrors
hyperledger-fabric
hyperledger-fabric
v1.4.7

搜索帮助