From 2b8ba0d4f205193d7128c6f2e8d8ae520effe8af Mon Sep 17 00:00:00 2001 From: zhouhao Date: Fri, 11 Aug 2017 19:08:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../define/AuthorizeDefinition.java | 47 ++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/define/AuthorizeDefinition.java b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/define/AuthorizeDefinition.java index 271996f9e..b693683e1 100644 --- a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/define/AuthorizeDefinition.java +++ b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/define/AuthorizeDefinition.java @@ -1,5 +1,8 @@ package org.hswebframework.web.authorization.define; +import org.hswebframework.web.authorization.Permission; +import org.hswebframework.web.authorization.Role; +import org.hswebframework.web.authorization.User; import org.hswebframework.web.authorization.annotation.Logical; import java.util.Set; @@ -12,21 +15,63 @@ import java.util.Set; * @since 3.0 */ public interface AuthorizeDefinition { + /** + * 优先级,如果获取到多个权限控制定义是,则先判断优先级高的 + * + * @return 优先级 + */ int getPriority(); + /** + * @return 是否进行数据权限控制 + * @see org.hswebframework.web.authorization.access.DataAccessController + */ boolean isDataAccessControll(); + /** + * @return 要控制的权限 + */ Set getPermissions(); + /** + * 要控制的权限事件,仅当{@link this#getPermissions()}不为空的时候生效 + * + * @return 权限事件 + * @see Permission#getActions() + */ Set getActions(); - Set getRroles(); + /** + * 控制角色访问 + * + * @return 要控制的角色id集合 + * @see Role#getId() + * @see org.hswebframework.web.authorization.Authentication#hasRole(String) + */ + Set getRoles(); + /** + * 控制用户访问 + * + * @return 要控制的用户id集合 + * @see User#getId() + */ Set getUser(); + /** + * 使用脚本进行控制 + * + * @return 脚本 + */ Script getScript(); + /** + * @return 当无权限时, 返回的消息 + */ String getMessage(); + /** + * @return 当存在多个配置, 如:配置了多个permission或者actions. 进行判断的逻辑(或者,并且) + */ Logical getLogical(); }