From 16b62714bc97ce30b4728ff1274f2164cc2b0117 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E6=B5=A9?= Date: Mon, 16 May 2016 16:48:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A8=E6=80=81=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=9D=83=E9=99=90=E9=AA=8C=E8=AF=81=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DynamicFormAuthorizeValidator.java | 10 +++++++ ...icFormAuthorizeValidatorConfiguration.java | 30 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 hsweb-web-controller/src/main/java/org/hsweb/web/controller/DynamicFormAuthorizeValidator.java create mode 100644 hsweb-web-controller/src/main/java/org/hsweb/web/controller/DynamicFormAuthorizeValidatorConfiguration.java diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/DynamicFormAuthorizeValidator.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/DynamicFormAuthorizeValidator.java new file mode 100644 index 000000000..1f58abb9d --- /dev/null +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/DynamicFormAuthorizeValidator.java @@ -0,0 +1,10 @@ +package org.hsweb.web.controller; + +import org.hsweb.web.bean.po.user.User; + +/** + * Created by zhouhao on 16-5-16. + */ +public interface DynamicFormAuthorizeValidator { + boolean validate(String formName, User user, String... actions); +} diff --git a/hsweb-web-controller/src/main/java/org/hsweb/web/controller/DynamicFormAuthorizeValidatorConfiguration.java b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/DynamicFormAuthorizeValidatorConfiguration.java new file mode 100644 index 000000000..e7dd5feaf --- /dev/null +++ b/hsweb-web-controller/src/main/java/org/hsweb/web/controller/DynamicFormAuthorizeValidatorConfiguration.java @@ -0,0 +1,30 @@ +package org.hsweb.web.controller; + +import org.hsweb.web.bean.po.user.User; +import org.hsweb.web.core.authorize.ExpressionScopeBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Created by zhouhao on 16-5-16. + */ +@Component("dynamicFormAuthorizeValidator") +public class DynamicFormAuthorizeValidatorConfiguration implements ExpressionScopeBean { + + @Autowired(required = false) + private List dynamicFormAuthorizeValidators; + + public boolean validate(String formName, User user, String... actions) { + if (dynamicFormAuthorizeValidators != null) { + for (DynamicFormAuthorizeValidator validator : dynamicFormAuthorizeValidators) { + if (validator.validate(formName, user, actions)) { + return true; + } + } + return false; + } + return true; + } +}