[ 
https://issues.apache.org/jira/browse/FINERACT-3029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tanishq Choudhary updated FINERACT-3029:
----------------------------------------
    Description: 
Three read checks build a permission code that isn't in m_permission, so a role 
with the real permission gets a 403. Only ALL_FUNCTIONS and ALL_FUNCTIONS_READ 
pass.

||Where||Checks||Real permission||
|TemplatePopulateImportConstants.FUNDS_ENTITY_TYPE, used by 7 bulk import 
templates|READ_FUNDS|READ_FUND|
|SmsCampaignApiResource.preview, the other SMS reads already use 
READ_SMSCAMPAIGN|READ_SMS_CAMPAIGN|READ_SMSCAMPAIGN|
|TwoFactorConfigurationApiResource.retrieveAll|READ_TWOFACTOR_CONFIG|READ_TWOFACTOR_CONFIGURATION|

Found by comparing every validateHasReadPermission, 
validateHasCreatePermission, validateHasUpdatePermission and 
validateHasDeletePermission argument on develop (8e80aa6e8) with the permission 
codes in the tenant changelog.

Expected: a role with the real permission passes these checks. All three fixes 
are one-word changes to the resource name. I checked each one with a unit test, 
not against a live server. I won't be sending a PR for this, so anyone can take 
it.

Different from FINERACT-3027, which covers the interest pause endpoints.

Five more names have no matching permission at all: READ_SURVEY, 
READ_POVERTYLINE, READ_EXTERNALSERVICECONFIGURATION, READ_CREDITBUREAU and 
READ_SHAREDACCOUNT. Those need a decision on whether to add a permission or 
check an existing one, so they aren't part of this.

  was:
Three read checks build a permission code that isn't in m_permission, so a role 
with the real permission gets a 403. Only ALL_FUNCTIONS and ALL_FUNCTIONS_READ 
pass.

||Where||Checks||Real permission||
|TemplatePopulateImportConstants.FUNDS_ENTITY_TYPE, used by 7 bulk import 
templates|READ_FUNDS|READ_FUND|
|SmsCampaignApiResource.preview, the other SMS reads already use 
READ_SMSCAMPAIGN|READ_SMS_CAMPAIGN|READ_SMSCAMPAIGN|
|TwoFactorConfigurationApiResource.retrieveAll|READ_TWOFACTOR_CONFIG|READ_TWOFACTOR_CONFIGURATION|

Found by comparing every validateHasReadPermission, 
validateHasCreatePermission, validateHasUpdatePermission and 
validateHasDeletePermission argument on develop (8e80aa6e8) with the permission 
codes in the tenant changelog.

Expected: a role with the real permission passes these checks. All three fixes 
are one-word changes to the resource name. I've got them locally with unit 
tests that fail before the change and pass after it. I haven't run this against 
a live server.

Different from FINERACT-3027, which covers the interest pause endpoints.

Five more names have no matching permission at all: READ_SURVEY, 
READ_POVERTYLINE, READ_EXTERNALSERVICECONFIGURATION, READ_CREDITBUREAU and 
READ_SHAREDACCOUNT. Those need a decision on whether to add a permission or 
check an existing one, so they aren't part of this.


> Three read permission checks use names that don't exist
> -------------------------------------------------------
>
>                 Key: FINERACT-3029
>                 URL: https://issues.apache.org/jira/browse/FINERACT-3029
>             Project: Apache Fineract
>          Issue Type: Bug
>            Reporter: Tanishq Choudhary
>            Priority: Minor
>
> Three read checks build a permission code that isn't in m_permission, so a 
> role with the real permission gets a 403. Only ALL_FUNCTIONS and 
> ALL_FUNCTIONS_READ pass.
> ||Where||Checks||Real permission||
> |TemplatePopulateImportConstants.FUNDS_ENTITY_TYPE, used by 7 bulk import 
> templates|READ_FUNDS|READ_FUND|
> |SmsCampaignApiResource.preview, the other SMS reads already use 
> READ_SMSCAMPAIGN|READ_SMS_CAMPAIGN|READ_SMSCAMPAIGN|
> |TwoFactorConfigurationApiResource.retrieveAll|READ_TWOFACTOR_CONFIG|READ_TWOFACTOR_CONFIGURATION|
> Found by comparing every validateHasReadPermission, 
> validateHasCreatePermission, validateHasUpdatePermission and 
> validateHasDeletePermission argument on develop (8e80aa6e8) with the 
> permission codes in the tenant changelog.
> Expected: a role with the real permission passes these checks. All three 
> fixes are one-word changes to the resource name. I checked each one with a 
> unit test, not against a live server. I won't be sending a PR for this, so 
> anyone can take it.
> Different from FINERACT-3027, which covers the interest pause endpoints.
> Five more names have no matching permission at all: READ_SURVEY, 
> READ_POVERTYLINE, READ_EXTERNALSERVICECONFIGURATION, READ_CREDITBUREAU and 
> READ_SHAREDACCOUNT. Those need a decision on whether to add a permission or 
> check an existing one, so they aren't part of this.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to