fd91cb0922c0074556322df60158e47d1d5037ed
java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/test/adminconsole/TestIpLocking.java
| ... | ... | @@ -15,6 +15,7 @@ import com.sap.sailing.selenium.api.event.SecurityApi; |
| 15 | 15 | import com.sap.sailing.selenium.core.SeleniumTestCase; |
| 16 | 16 | import com.sap.sailing.selenium.pages.adminconsole.AdminConsolePage; |
| 17 | 17 | import com.sap.sailing.selenium.pages.adminconsole.advanced.IpBlocklistPanelPO; |
| 18 | +import com.sap.sailing.selenium.pages.adminconsole.advanced.LocalServerPO; |
|
| 18 | 19 | import com.sap.sailing.selenium.test.AbstractSeleniumTest; |
| 19 | 20 | |
| 20 | 21 | public class TestIpLocking extends AbstractSeleniumTest { |
| ... | ... | @@ -28,12 +29,15 @@ public class TestIpLocking extends AbstractSeleniumTest { |
| 28 | 29 | @SeleniumTestCase |
| 29 | 30 | public void testUnlockingForBearerTokenAbuser() throws InterruptedException { |
| 30 | 31 | final AdminConsolePage adminConsole = AdminConsolePage.goToPage(getWebDriver(), getContextRoot()); |
| 31 | - final IpBlocklistPanelPO tablePO = adminConsole.goToLocalServerPanel().getBearerTokenAbusePO(); |
|
| 32 | - attemptBearerTokenAbuse(5); |
|
| 32 | + final LocalServerPO localServerPanel = adminConsole.goToLocalServerPanel(); |
|
| 33 | + IpBlocklistPanelPO tablePO = localServerPanel.getBearerTokenAbusePO(); |
|
| 34 | + attemptBearerTokenAbuse(4); |
|
| 33 | 35 | tablePO.refresh(); |
| 34 | 36 | final String ip = "127.0.0.1"; |
| 35 | 37 | assertTrue(tablePO.isIpInTable(ip)); |
| 36 | 38 | tablePO.unblockIP(ip); |
| 39 | + // reference was getting stale otherwise |
|
| 40 | + tablePO = localServerPanel.getBearerTokenAbusePO(); |
|
| 37 | 41 | assertFalse(tablePO.isIpInTable(ip)); |
| 38 | 42 | attemptValidBearerTokenUse(); |
| 39 | 43 | } |
| ... | ... | @@ -73,12 +77,15 @@ public class TestIpLocking extends AbstractSeleniumTest { |
| 73 | 77 | @SeleniumTestCase |
| 74 | 78 | public void testUnlockingForUserCreationAbuser() throws InterruptedException { |
| 75 | 79 | final AdminConsolePage adminConsole = AdminConsolePage.goToPage(getWebDriver(), getContextRoot()); |
| 76 | - final IpBlocklistPanelPO tablePO = adminConsole.goToLocalServerPanel().getUserCreationAbusePO(); |
|
| 80 | + final LocalServerPO localServerPanel = adminConsole.goToLocalServerPanel(); |
|
| 81 | + IpBlocklistPanelPO tablePO = localServerPanel.getUserCreationAbusePO(); |
|
| 77 | 82 | spamUserCreation(4); |
| 78 | 83 | tablePO.refresh(); |
| 79 | 84 | final String ip = "127.0.0.1"; |
| 80 | 85 | assertTrue(tablePO.isIpInTable(ip)); |
| 81 | 86 | tablePO.unblockIP(ip); |
| 87 | + // reference was getting stale otherwise |
|
| 88 | + tablePO = localServerPanel.getUserCreationAbusePO(); |
|
| 82 | 89 | assertFalse(tablePO.isIpInTable(ip)); |
| 83 | 90 | attemptValidBearerTokenUse(); |
| 84 | 91 | } |
java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/server/UserManagementWriteServiceImpl.java
| ... | ... | @@ -746,20 +746,20 @@ public class UserManagementWriteServiceImpl extends UserManagementServiceImpl im |
| 746 | 746 | @Override |
| 747 | 747 | public void releaseUserCreationLockOnIp(String ip) throws UnauthorizedException { |
| 748 | 748 | final SecurityService securityService = getSecurityService(); |
| 749 | - final WildcardPermission userReadPermissionOnIp = SecuredSecurityTypes.LOCKED_IP |
|
| 749 | + final WildcardPermission deletePermission = SecuredSecurityTypes.LOCKED_IP |
|
| 750 | 750 | .getPermissionForObject(DefaultActions.DELETE, new IPAddress(ip)); |
| 751 | 751 | // throws exception if not permitted |
| 752 | - SecurityUtils.getSubject().checkPermission(userReadPermissionOnIp.toString()); |
|
| 752 | + SecurityUtils.getSubject().checkPermission(deletePermission.toString()); |
|
| 753 | 753 | securityService.releaseUserCreationLockOnIp(ip); |
| 754 | 754 | } |
| 755 | 755 | |
| 756 | 756 | @Override |
| 757 | 757 | public void releaseBearerTokenLockOnIp(String ip) throws UnauthorizedException { |
| 758 | 758 | final SecurityService securityService = getSecurityService(); |
| 759 | - final WildcardPermission userReadPermissionOnIp = SecuredSecurityTypes.LOCKED_IP |
|
| 759 | + final WildcardPermission deletePermission = SecuredSecurityTypes.LOCKED_IP |
|
| 760 | 760 | .getPermissionForObject(DefaultActions.DELETE, new IPAddress(ip)); |
| 761 | 761 | // throws exception if not permitted |
| 762 | - SecurityUtils.getSubject().checkPermission(userReadPermissionOnIp.toString()); |
|
| 762 | + SecurityUtils.getSubject().checkPermission(deletePermission.toString()); |
|
| 763 | 763 | securityService.releaseBearerTokenLockOnIp(ip); |
| 764 | 764 | } |
| 765 | 765 | } |