policies

package
v0.0.0-...-e3e94bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PathSeparator = "/"

	ChannelPrefix = "Channel"

	ApplicationPrefix = "Application"

	OrdererPrefix = "Orderer"

	ChannelApplicationReaders = PathSeparator + ChannelPrefix + PathSeparator + ApplicationPrefix + PathSeparator + "Readers"

	BlockValidation = PathSeparator + ChannelPrefix + PathSeparator + OrdererPrefix + PathSeparator + "BlockValidation"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ChannelPolicyManagerGetter

type ChannelPolicyManagerGetter interface {
	// 返回与对应通道关联的策略管理器。
	Manager(channelID string) Manager
}

ChannelPolicyManagerGetter 用于访问给定通道的策略管理器。

type Manager

type Manager interface {
	// GetPolicy 返回一个策略,如果是请求的策略,则返回 true,如果是默认策略,则返回 false。
	GetPolicy(path string) (Policy, bool)

	// Manager 返回给定路径的子策略管理器以及该路径是否存在。
	Manager(path []string) (Manager, bool)
}

type Policy

type Policy interface {
	// EvaluateSignedData 以一组 protoutil.SignedData 为输入,进行一下操作:
	//	1. 验证签名是否合法;
	//	2. 进行签名的身份是否满足策略。
	EvaluateSignedData(signatures []*protoutil.SignedData) error

	// 以一组身份作为输入,验证这些身份是否满足策略。
	EvaluateIdentities(identities []msp.Identity) error
}

type PrincipalSet

type PrincipalSet []*pbmsp.MSPPrincipal

func (PrincipalSet) ContainingOnly

func (ps PrincipalSet) ContainingOnly(f func(*pbmsp.MSPPrincipal) bool) bool

ContainingOnly 遍历一遍 principal 集合,根据给定的谓词,对每个 principal 进行检查,如果有一个 principal 检查不通过,则返回 false,否则返回 true。

func (PrincipalSet) UniqueSet

func (ps PrincipalSet) UniqueSet() map[*pbmsp.MSPPrincipal]int

UniqueSet 遍历一遍 principal 集合,实例化一个 map,此 map 的 key 为 principal,value 是 int 类型 的数字,principal 集合中可能会存在重复的 principal,统计每个不一样的 principal 的个数,然后将统计出 来的个数填充到实例化出来的 map 里。

type PrincipalSets

type PrincipalSets []PrincipalSet

func (PrincipalSets) ContainingOnly

func (pss PrincipalSets) ContainingOnly(f func(*pbmsp.MSPPrincipal) bool) PrincipalSets

ContainingOnly 以 principal 集合为某个超级集合的元素,遍历这个超级集合里的每个 principal 集合,更深入的, 继续遍历每个 principal 集合里的每个 principal,然后根据给定的谓词,对每个集合里的 principal 进行检查,如 果集合中的所有 principal 都能通过检查,就将该 principal 集合保留下来,放入到一个新实例化的超级集合中,最后 将该超级集合返回出来。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL