From a05c9e2919a2ff9b03613eb87ec85bd960b09128 Mon Sep 17 00:00:00 2001 From: Elijah Date: Mon, 18 Nov 2019 11:24:19 +0800 Subject: [PATCH] =?UTF-8?q?KERNEL-1754=20=E4=BD=BF=E7=94=A8=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=8E=A7=E5=88=B6=E7=9A=84demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.xml | 3 +- .../web/request/DemoRequestHandlerBridge.java | 6 ++- .../demo/web/request/DemoURLAliasBridge.java | 4 +- .../web/request/handler/AdminHttpHandler.java | 39 ++++++++++++++++++ .../request/handler/ModuleHttpHandler.java | 40 +++++++++++++++++++ 5 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/fr/plugin/demo/web/request/handler/AdminHttpHandler.java create mode 100644 src/main/java/com/fr/plugin/demo/web/request/handler/ModuleHttpHandler.java diff --git a/plugin.xml b/plugin.xml index 16c1008..6de3c27 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,12 +2,13 @@ com.fr.plugin.demo.web.request yes - 1.0 + 2.0 10.0 2018-11-23 author [2018-11-06]完善示例插件。
[2018-11-05]初始化插件。
]]>
diff --git a/src/main/java/com/fr/plugin/demo/web/request/DemoRequestHandlerBridge.java b/src/main/java/com/fr/plugin/demo/web/request/DemoRequestHandlerBridge.java index 6336e35..d838535 100644 --- a/src/main/java/com/fr/plugin/demo/web/request/DemoRequestHandlerBridge.java +++ b/src/main/java/com/fr/plugin/demo/web/request/DemoRequestHandlerBridge.java @@ -2,6 +2,8 @@ package com.fr.plugin.demo.web.request; import com.fr.decision.fun.impl.AbstractHttpHandlerProvider; import com.fr.decision.fun.impl.BaseHttpHandler; +import com.fr.plugin.demo.web.request.handler.AdminHttpHandler; +import com.fr.plugin.demo.web.request.handler.ModuleHttpHandler; import com.fr.plugin.demo.web.request.handler.PrivateHttpHandler; import com.fr.plugin.demo.web.request.handler.PublicHttpHandler; @@ -11,7 +13,9 @@ public class DemoRequestHandlerBridge extends AbstractHttpHandlerProvider { return new BaseHttpHandler[]{ new PublicHttpHandler(), - new PrivateHttpHandler() + new PrivateHttpHandler(), + new AdminHttpHandler(), + new ModuleHttpHandler() }; } } diff --git a/src/main/java/com/fr/plugin/demo/web/request/DemoURLAliasBridge.java b/src/main/java/com/fr/plugin/demo/web/request/DemoURLAliasBridge.java index 7e84413..19fe214 100644 --- a/src/main/java/com/fr/plugin/demo/web/request/DemoURLAliasBridge.java +++ b/src/main/java/com/fr/plugin/demo/web/request/DemoURLAliasBridge.java @@ -9,7 +9,9 @@ public class DemoURLAliasBridge extends AbstractURLAliasProvider { public URLAlias[] registerAlias() { return new URLAlias[] { URLAliasFactory.createPluginAlias("/demo/simple/text", "/demo/text", true), - URLAliasFactory.createPluginAlias("/demo/simple/abc", "/demo/abc", false) + URLAliasFactory.createPluginAlias("/demo/simple/abc", "/demo/abc", false), + URLAliasFactory.createPluginAlias("/demo/simple/admin", "/demo/admin", false), + URLAliasFactory.createPluginAlias("/demo/simple/module", "/demo/module", false) }; } } diff --git a/src/main/java/com/fr/plugin/demo/web/request/handler/AdminHttpHandler.java b/src/main/java/com/fr/plugin/demo/web/request/handler/AdminHttpHandler.java new file mode 100644 index 0000000..ec83678 --- /dev/null +++ b/src/main/java/com/fr/plugin/demo/web/request/handler/AdminHttpHandler.java @@ -0,0 +1,39 @@ +package com.fr.plugin.demo.web.request.handler; + +import com.fanruan.api.web.FlushKit; +import com.fr.decision.fun.impl.BaseHttpHandler; +import com.fr.third.springframework.web.bind.annotation.RequestMethod; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author Elijah + * @version 10.0.4 + * Created by Elijah on 2019/11/15 + */ +public class AdminHttpHandler extends BaseHttpHandler { + @Override + public RequestMethod getMethod() { + return RequestMethod.GET; + } + + @Override + public String getPath() { + return "/demo/admin"; + } + + @Override + public boolean isPublic() { + return false; + } + + public boolean needAdmin() { + return true; + } + + @Override + public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { + FlushKit.printAsString(httpServletResponse, "这是个只有超管能访问的接口"); + } +} \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/demo/web/request/handler/ModuleHttpHandler.java b/src/main/java/com/fr/plugin/demo/web/request/handler/ModuleHttpHandler.java new file mode 100644 index 0000000..3f60d91 --- /dev/null +++ b/src/main/java/com/fr/plugin/demo/web/request/handler/ModuleHttpHandler.java @@ -0,0 +1,40 @@ +package com.fr.plugin.demo.web.request.handler; + +import com.fanruan.api.decision.AuthorityKit; +import com.fanruan.api.web.FlushKit; +import com.fr.decision.fun.impl.BaseHttpHandler; +import com.fr.third.springframework.web.bind.annotation.RequestMethod; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author Elijah + * @version 10.0.4 + * Created by Elijah on 2019/11/15 + */ +public class ModuleHttpHandler extends BaseHttpHandler { + @Override + public RequestMethod getMethod() { + return RequestMethod.GET; + } + + @Override + public String getPath() { + return "/demo/module"; + } + + @Override + public boolean isPublic() { + return false; + } + + public String[] modules() { + return new String[] {AuthorityKit.Management.USER}; + } + + @Override + public void handle(HttpServletRequest httpServletRequest, HttpServletResponse response) throws Exception { + FlushKit.printAsString(response, "这是个有用户管理权限的次管才能访问的接口"); + } +} \ No newline at end of file