Class DefaultPaymentAccessValidationService
java.lang.Object
com.broadleafcommerce.paymenttransaction.service.validation.DefaultPaymentAccessValidationService
- All Implemented Interfaces:
PaymentAccessValidationService
public class DefaultPaymentAccessValidationService
extends Object
implements PaymentAccessValidationService
Default implementation of
PaymentAccessValidationService.-
Constructor Summary
ConstructorsConstructorDescriptionDefaultPaymentAccessValidationService(PaymentTTLValidationService paymentTTLValidationService, PaymentManagementService<Payment> paymentManagementService, com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils authenticationUtils) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancustomerMatches(@NonNull Payment payment, @NonNull CustomerRef customer) Validates if the owning user of thePaymentmatches the givenCustomerRef.protected com.broadleafcommerce.resource.security.utils.service.AuthenticationUtilsprotected PaymentManagementService<Payment>protected PaymentTransactionServicePropertiesprotected PaymentTTLValidationServiceprotected booleanisCustomerMutabilityBlocked(@NonNull Payment payment) protected booleanisCustomerMutabilityBlockedForPaymentFinalization(@NonNull Payment payment) voidsetPaymentTransactionServiceProperties(PaymentTransactionServiceProperties paymentTransactionServiceProperties) protected booleanvalidateAccessForAnonymousOwnedPayment(@NonNull Payment payment, @NonNull CustomerRef customerRef) Validates access for anonymous ownedPaymentfor the givenCustomerRef, which checks against thePayment.getOwningUserEmailAddress()andCustomerRef.getUsername()by default.voidvalidateCustomerPaymentRequest(@NonNull Payment payment, @NonNull CustomerRef customerRef, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Validates access to the payment based on the passed in contextprotected voidvalidatePaymentCustomerRef(@NonNull Payment payment, @NonNull CustomerRef customerRef, String lockToken, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
-
Constructor Details
-
DefaultPaymentAccessValidationService
public DefaultPaymentAccessValidationService(PaymentTTLValidationService paymentTTLValidationService, PaymentManagementService<Payment> paymentManagementService, com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils authenticationUtils)
-
-
Method Details
-
validateCustomerPaymentRequest
public void validateCustomerPaymentRequest(@NonNull @NonNull Payment payment, @NonNull @NonNull CustomerRef customerRef, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Description copied from interface:PaymentAccessValidationServiceValidates access to the payment based on the passed in context- Specified by:
validateCustomerPaymentRequestin interfacePaymentAccessValidationService- Parameters:
payment- thePaymentrequiring accesscustomerRef- theCustomerRefto validate againstlockToken- the current lock tokencontext- context information surrounding multitenant state
-
validatePaymentCustomerRef
protected void validatePaymentCustomerRef(@NonNull @NonNull Payment payment, @NonNull @NonNull CustomerRef customerRef, @Nullable String lockToken, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) -
isCustomerMutabilityBlocked
-
isCustomerMutabilityBlockedForPaymentFinalization
protected boolean isCustomerMutabilityBlockedForPaymentFinalization(@NonNull @NonNull Payment payment) -
customerMatches
protected boolean customerMatches(@NonNull @NonNull Payment payment, @NonNull @NonNull CustomerRef customer) Validates if the owning user of thePaymentmatches the givenCustomerRef.This is to ensure that the currently authenticated user, the given
CustomerRef, has access to thePayment.- Parameters:
payment- thePaymentto check the owning user forcustomer- theCustomerRefto check against- Returns:
- true if the payment's owning user matches the given
CustomerRef, otherwise false
-
validateAccessForAnonymousOwnedPayment
protected boolean validateAccessForAnonymousOwnedPayment(@NonNull @NonNull Payment payment, @NonNull @NonNull CustomerRef customerRef) Validates access for anonymous ownedPaymentfor the givenCustomerRef, which checks against thePayment.getOwningUserEmailAddress()andCustomerRef.getUsername()by default.Override this method for additional validations or if
CustomerRef.getUsername()is not the same as the customer email.- Parameters:
payment- thePaymentbeing accessedcustomerRef- theCustomerRefto check against- Returns:
- true if access is allowed, otherwise false.
-
getPaymentTTLValidationService
-
getPaymentManagementService
-
getAuthenticationUtils
protected com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils getAuthenticationUtils() -
getPaymentTransactionServiceProperties
-
setPaymentTransactionServiceProperties
@Autowired public void setPaymentTransactionServiceProperties(PaymentTransactionServiceProperties paymentTransactionServiceProperties)
-