code: func (d *defaultACLProvider) CheckACL(resName string, channelID string, idinfo interface{}) error {
  	policy := d.defaultPolicy(resName, true)
  	if policy == "" {
  		aclLogger.Errorf("Unmapped policy for %s", resName)
  		return fmt.Errorf("Unmapped policy for %s", resName)
  	}
  
  	switch typedData := idinfo.(type) {
  	case *pb.SignedProposal:
  		return d.policyChecker.CheckPolicy(channelID, policy, typedData)
  	case *common.Envelope:
  		sd, err := typedData.AsSignedData()
  		if err != nil {
  			return err
  		}
  		return d.policyChecker.CheckPolicyBySignedData(channelID, policy, sd)
  	case []*common.SignedData:
  		return d.policyChecker.CheckPolicyBySignedData(channelID, policy, typedData)
  	default:
  		aclLogger.Errorf("Unmapped id on checkACL %s", resName)
  		return fmt.Errorf("Unknown id on checkACL %s", resName)
  	}
  }
docs: //CheckACL provides default (v 1.0) behavior by mapping resources to their ACL for a channel