From 13def2a4c3fe26cc80167a9215c0e3a6d1bde966 Mon Sep 17 00:00:00 2001 From: MaxKey Date: Sat, 30 Jul 2022 19:08:11 +0800 Subject: [PATCH] not have authority access app tip --- .../authz/endpoint/AuthorizeEndpoint.java | 9 +++++++ .../main/java/org/maxkey/MaxKeyMvcConfig.java | 1 + .../interceptor/SingleSignOnInterceptor.java | 2 +- .../resources/messages/message.properties | 3 +++ .../resources/messages/message_en.properties | 3 +++ .../messages/message_zh_CN.properties | 3 +++ .../views/authorize/authorize_refused.ftl | 26 +++++++++++++++++++ 7 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 maxkey-webs/maxkey-web-maxkey/src/main/resources/templates/views/authorize/authorize_refused.ftl diff --git a/maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/AuthorizeEndpoint.java b/maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/AuthorizeEndpoint.java index ded018541..21035e986 100644 --- a/maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/AuthorizeEndpoint.java +++ b/maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/AuthorizeEndpoint.java @@ -88,4 +88,13 @@ public class AuthorizeEndpoint extends AuthorizeBaseEndpoint{ return modelAndView; } + @RequestMapping("/authz/refused") + public ModelAndView refused(){ + ModelAndView modelAndView = new ModelAndView("authorize/authorize_refused"); + Apps app = (Apps)WebContext.getAttribute(WebConstants.AUTHORIZE_SIGN_ON_APP); + app.transIconBase64(); + modelAndView.addObject("model", app); + return modelAndView; + } + } diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyMvcConfig.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyMvcConfig.java index 748c706fc..f289c8900 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyMvcConfig.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyMvcConfig.java @@ -139,6 +139,7 @@ public class MaxKeyMvcConfig implements WebMvcConfigurer { .addPathPatterns("/logon/oauth20/bind/**") .addPathPatterns("/logout") .addPathPatterns("/logout/**") + .addPathPatterns("/authz/refused") ; _logger.debug("add Permission Interceptor"); diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/interceptor/SingleSignOnInterceptor.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/interceptor/SingleSignOnInterceptor.java index 25ebf02bd..f091c8351 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/interceptor/SingleSignOnInterceptor.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/interceptor/SingleSignOnInterceptor.java @@ -114,7 +114,7 @@ public class SingleSignOnInterceptor implements AsyncHandlerInterceptor { } } _logger.debug("preHandle not have authority access " + app); - return false; + response.sendRedirect(request.getContextPath()+"/authz/refused"); } return true; } diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message.properties index aec1f4835..26f9b1bf4 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message.properties @@ -17,6 +17,9 @@ login.session.timeout.tip=\u767B\u5F55\u4F1A\u8BDD\u8D85\u65F6 login.session.timeout.prefix=\u60A8\u7684\u767B\u5F55\u4F1A\u8BDD\u5DF2\u7ECF\u8D85\u65F6\uFF0C\u8BF7 login.session.timeout.suffix=\u91CD\u65B0\u767B\u5F55 +login.authz.refuse=\u4F60\u6CA1\u6709\u6743\u9650\u8BBF\u95EE\u8BE5\u5E94\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u3002 +common.text.close=\u5173\u95ED + common.window.title=\u7A97\u53E3 common.alert.title=\u63D0\u793A\u4FE1\u606F common.alert.closeText=\u5173\u95ED diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message_en.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message_en.properties index 2e20bdf6d..ecc4fa34f 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message_en.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message_en.properties @@ -17,6 +17,9 @@ login.session.timeout.tip=Login session timeout login.session.timeout.prefix=Your login session has timed out. Please login.session.timeout.suffix=re-login +login.authz.refuse=You don't have authority to access this app, please contact the administrator. +common.text.close=Close + common.window.title=Window common.alert.title=Information common.alert.closeText=Close diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message_zh_CN.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message_zh_CN.properties index d69052c4f..703ac6c9a 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message_zh_CN.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message_zh_CN.properties @@ -17,6 +17,9 @@ login.session.timeout.tip=\u767B\u5F55\u4F1A\u8BDD\u8D85\u65F6 login.session.timeout.prefix=\u60A8\u7684\u767B\u5F55\u4F1A\u8BDD\u5DF2\u7ECF\u8D85\u65F6\uFF0C\u8BF7 login.session.timeout.suffix=\u91CD\u65B0\u767B\u5F55 +login.authz.refuse=\u4F60\u6CA1\u6709\u6743\u9650\u8BBF\u95EE\u8BE5\u5E94\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u3002 +common.text.close=\u5173\u95ED + common.window.title=\u7A97\u53E3 common.alert.title=\u63D0\u793A\u4FE1\u606F common.alert.closeText=\u5173\u95ED diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/templates/views/authorize/authorize_refused.ftl b/maxkey-webs/maxkey-web-maxkey/src/main/resources/templates/views/authorize/authorize_refused.ftl new file mode 100644 index 000000000..1b136f657 --- /dev/null +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/templates/views/authorize/authorize_refused.ftl @@ -0,0 +1,26 @@ + + + + Refuse To Access + <#include "authorize_common.ftl"> + + + +
+
+ + + + + + + + + + + +
<@locale code="login.authz.refuse" />
${model.appName}
${model.id}
+
+
+ +