func RegisterPolicyCheckerFactory(f PolicyCheckerFactory)
RegisterPolicyCheckerFactory is to be called once to set the factory that will be used to obtain instances of PolicyChecker
PolicyChecker offers methods to check a signed proposal against a specific policy defined in a channel or not.
type PolicyChecker interface {
// CheckPolicy checks that the passed signed proposal is valid with the respect to
// passed policy on the passed channel.
// If no channel is passed, CheckPolicyNoChannel is invoked directly.
CheckPolicy(channelID, policyName string, signedProp *pb.SignedProposal) error
// CheckPolicyBySignedData checks that the passed signed data is valid with the respect to
// passed policy on the passed channel.
// If no channel is passed, the method will fail.
CheckPolicyBySignedData(channelID, policyName string, sd []*common.SignedData) error
// CheckPolicyNoChannel checks that the passed signed proposal is valid with the respect to
// passed policy on the local MSP.
CheckPolicyNoChannel(policyName string, signedProp *pb.SignedProposal) error
}
func GetPolicyChecker() PolicyChecker
GetPolicyChecker returns instances of PolicyChecker; the actual implementation is controlled by the factory that is registered via RegisterPolicyCheckerFactory
func NewPolicyChecker(channelPolicyManagerGetter policies.ChannelPolicyManagerGetter, localMSP msp.IdentityDeserializer, principalGetter mgmt.MSPPrincipalGetter) PolicyChecker
NewPolicyChecker creates a new instance of PolicyChecker
PolicyCheckerFactory defines a factory interface so that the actual implementation can be injected
type PolicyCheckerFactory interface {
NewPolicyChecker() PolicyChecker
}