From efb9d535c42ce7e27a2086a776c0ade45f794322 Mon Sep 17 00:00:00 2001 From: iroqueta Date: Fri, 1 Oct 2021 12:14:52 -0300 Subject: [PATCH 1/2] Redirect to web object was not working right when an ajax event is executed and GAM is called because session expired. Issue: 91188 --- .../genexus/webpanels/GXOAuthAccessToken.java | 2 ++ .../webpanels/GXOAuthAccessTokenDummy.java | 2 ++ .../com/genexus/webpanels/GXOAuthLogout.java | 2 ++ .../genexus/webpanels/GXOAuthLogoutDummy.java | 2 ++ .../com/genexus/webpanels/GXOAuthUserInfo.java | 2 ++ .../genexus/webpanels/GXOAuthUserInfoDummy.java | 4 +++- .../webpanels/GXObjectUploadServices.java | 4 +++- .../com/genexus/webpanels/GXWebObjectStub.java | 16 +++++++++++++--- .../java/com/genexus/webpanels/LOGOUTDummy.java | 4 +++- .../java/com/genexus/webpanels/SSODummy.java | 4 +++- .../genexus/webpanels/agamextauthinputDummy.java | 4 +++- .../agamoauth20getaccesstokenDummy.java | 2 ++ .../agamoauth20getaccesstoken_v20Dummy.java | 2 ++ .../webpanels/agamoauth20getuserinfoDummy.java | 2 ++ .../agamoauth20getuserinfo_v20Dummy.java | 2 ++ ...mssorestrequesttokenanduserinfo_v20Dummy.java | 2 ++ .../agamstsauthappgetaccesstokenDummy.java | 4 +++- .../agamstsauthappvalidaccesstokenDummy.java | 4 +++- 18 files changed, 54 insertions(+), 10 deletions(-) diff --git a/java/src/main/java/com/genexus/webpanels/GXOAuthAccessToken.java b/java/src/main/java/com/genexus/webpanels/GXOAuthAccessToken.java index 7e49ce020..be9d3306c 100644 --- a/java/src/main/java/com/genexus/webpanels/GXOAuthAccessToken.java +++ b/java/src/main/java/com/genexus/webpanels/GXOAuthAccessToken.java @@ -191,6 +191,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/GXOAuthAccessTokenDummy.java b/java/src/main/java/com/genexus/webpanels/GXOAuthAccessTokenDummy.java index 7977430a3..acf7c5985 100644 --- a/java/src/main/java/com/genexus/webpanels/GXOAuthAccessTokenDummy.java +++ b/java/src/main/java/com/genexus/webpanels/GXOAuthAccessTokenDummy.java @@ -20,6 +20,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/GXOAuthLogout.java b/java/src/main/java/com/genexus/webpanels/GXOAuthLogout.java index 49ba8832e..c95930e7a 100644 --- a/java/src/main/java/com/genexus/webpanels/GXOAuthLogout.java +++ b/java/src/main/java/com/genexus/webpanels/GXOAuthLogout.java @@ -46,6 +46,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/GXOAuthLogoutDummy.java b/java/src/main/java/com/genexus/webpanels/GXOAuthLogoutDummy.java index 756faa204..a30203741 100644 --- a/java/src/main/java/com/genexus/webpanels/GXOAuthLogoutDummy.java +++ b/java/src/main/java/com/genexus/webpanels/GXOAuthLogoutDummy.java @@ -20,6 +20,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/GXOAuthUserInfo.java b/java/src/main/java/com/genexus/webpanels/GXOAuthUserInfo.java index a87602a0c..93ccfc255 100644 --- a/java/src/main/java/com/genexus/webpanels/GXOAuthUserInfo.java +++ b/java/src/main/java/com/genexus/webpanels/GXOAuthUserInfo.java @@ -54,6 +54,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/GXOAuthUserInfoDummy.java b/java/src/main/java/com/genexus/webpanels/GXOAuthUserInfoDummy.java index 040b630fc..09caf04c0 100644 --- a/java/src/main/java/com/genexus/webpanels/GXOAuthUserInfoDummy.java +++ b/java/src/main/java/com/genexus/webpanels/GXOAuthUserInfoDummy.java @@ -20,7 +20,9 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } - + + protected String EncryptURLParameters() {return "NO";}; + protected void init(HttpContext context ) { } diff --git a/java/src/main/java/com/genexus/webpanels/GXObjectUploadServices.java b/java/src/main/java/com/genexus/webpanels/GXObjectUploadServices.java index 6f9927abf..cd1c2e1ea 100644 --- a/java/src/main/java/com/genexus/webpanels/GXObjectUploadServices.java +++ b/java/src/main/java/com/genexus/webpanels/GXObjectUploadServices.java @@ -122,7 +122,9 @@ protected int IntegratedSecurityLevel( ) protected String IntegratedSecurityPermissionPrefix( ) { return ""; - } + } + + protected String EncryptURLParameters() {return "NO";}; private String getExtension(String contentType) { diff --git a/java/src/main/java/com/genexus/webpanels/GXWebObjectStub.java b/java/src/main/java/com/genexus/webpanels/GXWebObjectStub.java index d6812c40d..a6169d94f 100644 --- a/java/src/main/java/com/genexus/webpanels/GXWebObjectStub.java +++ b/java/src/main/java/com/genexus/webpanels/GXWebObjectStub.java @@ -26,6 +26,7 @@ public abstract class GXWebObjectStub extends HttpServlet protected abstract boolean IntegratedSecurityEnabled(); protected abstract int IntegratedSecurityLevel(); protected abstract String IntegratedSecurityPermissionPrefix(); + protected abstract String EncryptURLParameters(); protected static final int SECURITY_GXOBJECT = 3; protected static final int SECURITY_HIGH = 2; @@ -97,10 +98,19 @@ protected void callExecute(String method, IHttpServletRequest req, IHttpServletR boolean[] flag = new boolean[]{false}; boolean[] permissionFlag = new boolean[]{false}; String reqUrl = req.getRequestURL().toString(); - String queryString = req.getQueryString(); - if (queryString != null) + if (req.getMethod().equals("POST")) { - reqUrl += "?"+queryString; + if (EncryptURLParameters().equals("SESSION")) + reqUrl = ""; + else + reqUrl = req.getHeader("Referer"); + } + else + { + String queryString = req.getQueryString(); + if (queryString != null) { + reqUrl += "?" + queryString; + } } ModelContext modelContext = ModelContext.getModelContext(getClass()); modelContext.setHttpContext(httpContext); diff --git a/java/src/main/java/com/genexus/webpanels/LOGOUTDummy.java b/java/src/main/java/com/genexus/webpanels/LOGOUTDummy.java index fc2a1863e..9d4fc6388 100644 --- a/java/src/main/java/com/genexus/webpanels/LOGOUTDummy.java +++ b/java/src/main/java/com/genexus/webpanels/LOGOUTDummy.java @@ -19,7 +19,9 @@ protected int IntegratedSecurityLevel( ) protected String IntegratedSecurityPermissionPrefix( ) { return ""; - } + } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/SSODummy.java b/java/src/main/java/com/genexus/webpanels/SSODummy.java index fe9766ec3..1a0bd5913 100644 --- a/java/src/main/java/com/genexus/webpanels/SSODummy.java +++ b/java/src/main/java/com/genexus/webpanels/SSODummy.java @@ -19,7 +19,9 @@ protected int IntegratedSecurityLevel( ) protected String IntegratedSecurityPermissionPrefix( ) { return ""; - } + } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/agamextauthinputDummy.java b/java/src/main/java/com/genexus/webpanels/agamextauthinputDummy.java index 46a7b0111..c5724c86c 100644 --- a/java/src/main/java/com/genexus/webpanels/agamextauthinputDummy.java +++ b/java/src/main/java/com/genexus/webpanels/agamextauthinputDummy.java @@ -19,7 +19,9 @@ protected int IntegratedSecurityLevel( ) protected String IntegratedSecurityPermissionPrefix( ) { return ""; - } + } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/agamoauth20getaccesstokenDummy.java b/java/src/main/java/com/genexus/webpanels/agamoauth20getaccesstokenDummy.java index f8fb6b5dd..c5bb62ba0 100644 --- a/java/src/main/java/com/genexus/webpanels/agamoauth20getaccesstokenDummy.java +++ b/java/src/main/java/com/genexus/webpanels/agamoauth20getaccesstokenDummy.java @@ -20,6 +20,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/agamoauth20getaccesstoken_v20Dummy.java b/java/src/main/java/com/genexus/webpanels/agamoauth20getaccesstoken_v20Dummy.java index 734f4a901..94558307d 100644 --- a/java/src/main/java/com/genexus/webpanels/agamoauth20getaccesstoken_v20Dummy.java +++ b/java/src/main/java/com/genexus/webpanels/agamoauth20getaccesstoken_v20Dummy.java @@ -20,6 +20,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/agamoauth20getuserinfoDummy.java b/java/src/main/java/com/genexus/webpanels/agamoauth20getuserinfoDummy.java index 55cd7ae50..03adf7a4f 100644 --- a/java/src/main/java/com/genexus/webpanels/agamoauth20getuserinfoDummy.java +++ b/java/src/main/java/com/genexus/webpanels/agamoauth20getuserinfoDummy.java @@ -20,6 +20,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/agamoauth20getuserinfo_v20Dummy.java b/java/src/main/java/com/genexus/webpanels/agamoauth20getuserinfo_v20Dummy.java index 76e4f8f0b..582058865 100644 --- a/java/src/main/java/com/genexus/webpanels/agamoauth20getuserinfo_v20Dummy.java +++ b/java/src/main/java/com/genexus/webpanels/agamoauth20getuserinfo_v20Dummy.java @@ -20,6 +20,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/agamssorestrequesttokenanduserinfo_v20Dummy.java b/java/src/main/java/com/genexus/webpanels/agamssorestrequesttokenanduserinfo_v20Dummy.java index fea222fe4..c329f3499 100644 --- a/java/src/main/java/com/genexus/webpanels/agamssorestrequesttokenanduserinfo_v20Dummy.java +++ b/java/src/main/java/com/genexus/webpanels/agamssorestrequesttokenanduserinfo_v20Dummy.java @@ -20,6 +20,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/agamstsauthappgetaccesstokenDummy.java b/java/src/main/java/com/genexus/webpanels/agamstsauthappgetaccesstokenDummy.java index e7fb55599..f9ce7c3ea 100644 --- a/java/src/main/java/com/genexus/webpanels/agamstsauthappgetaccesstokenDummy.java +++ b/java/src/main/java/com/genexus/webpanels/agamstsauthappgetaccesstokenDummy.java @@ -19,7 +19,9 @@ protected int IntegratedSecurityLevel( ) protected String IntegratedSecurityPermissionPrefix( ) { return ""; - } + } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { diff --git a/java/src/main/java/com/genexus/webpanels/agamstsauthappvalidaccesstokenDummy.java b/java/src/main/java/com/genexus/webpanels/agamstsauthappvalidaccesstokenDummy.java index 66b74a030..57f837c26 100644 --- a/java/src/main/java/com/genexus/webpanels/agamstsauthappvalidaccesstokenDummy.java +++ b/java/src/main/java/com/genexus/webpanels/agamstsauthappvalidaccesstokenDummy.java @@ -19,7 +19,9 @@ protected int IntegratedSecurityLevel( ) protected String IntegratedSecurityPermissionPrefix( ) { return ""; - } + } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) { From 3fa0e4d971c1a5f1d59069749ab7aca3362c0c63 Mon Sep 17 00:00:00 2001 From: iroqueta Date: Fri, 1 Oct 2021 12:24:31 -0300 Subject: [PATCH 2/2] Redirect to web object was not working right when an ajax event is executed and GAM is called because session expired. Issue: 91188 --- .../com/genexus/webpanels/GXMultiCall.java | 2 ++ .../genexus/webpanels/GXResourceProvider.java | 26 ++++++++++++------- .../com/genexus/webpanels/GXValidService.java | 2 ++ 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/java/src/main/java/com/genexus/webpanels/GXMultiCall.java b/java/src/main/java/com/genexus/webpanels/GXMultiCall.java index bd41f1d98..f28801026 100644 --- a/java/src/main/java/com/genexus/webpanels/GXMultiCall.java +++ b/java/src/main/java/com/genexus/webpanels/GXMultiCall.java @@ -104,6 +104,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; private String parsePostData(int len, IServletInputStream in) { diff --git a/java/src/main/java/com/genexus/webpanels/GXResourceProvider.java b/java/src/main/java/com/genexus/webpanels/GXResourceProvider.java index 85e0b6fa0..58d0800eb 100644 --- a/java/src/main/java/com/genexus/webpanels/GXResourceProvider.java +++ b/java/src/main/java/com/genexus/webpanels/GXResourceProvider.java @@ -28,17 +28,25 @@ protected void doExecute(HttpContext context) throws Exception } } context.sendResponseStatus(404, "Resource not found"); - } protected boolean IntegratedSecurityEnabled( ) - { - return false; - } protected int IntegratedSecurityLevel( ) - { - return 0; - } protected String IntegratedSecurityPermissionPrefix( ) - { - return ""; + } + + protected boolean IntegratedSecurityEnabled( ) + { + return false; + } + + protected int IntegratedSecurityLevel( ) + { + return 0; } + protected String IntegratedSecurityPermissionPrefix( ) + { + return ""; + } + + protected String EncryptURLParameters() {return "NO";}; + protected void init(HttpContext context ) { } diff --git a/java/src/main/java/com/genexus/webpanels/GXValidService.java b/java/src/main/java/com/genexus/webpanels/GXValidService.java index 4f344cf62..020243de4 100644 --- a/java/src/main/java/com/genexus/webpanels/GXValidService.java +++ b/java/src/main/java/com/genexus/webpanels/GXValidService.java @@ -57,6 +57,8 @@ protected String IntegratedSecurityPermissionPrefix( ) { return ""; } + + protected String EncryptURLParameters() {return "NO";}; protected void init(HttpContext context ) {