Skip to content

权限控制 @Power

@Power 注解用于精细化控制 Erupt 界面的增、删、改、查、导入、导出等功能的启用状态。

控制 erupt 类能力,包括:新增、修改、删除、导入、导出等

使用方法

java
@Erupt(
       name = "Erupt",
       power = @Power(add = true, delete = true, 
                      edit = true, query = true, 
                      importable = false, export = false)
)
public class EruptTest extends BaseModel {
    
}

注解属性说明

属性名类型默认值描述
addbooleantrue是否允许新增数据
deletebooleantrue是否允许删除数据
editbooleantrue是否允许编辑数据
querybooleantrue输入查询功能
viewDetailsbooleantrue是否允许查看详情
exportbooleanfalse是否允许导出数据
importablebooleanfalse是否允许导入数据
powerHandlerClass-实现此接口动态控制权限

配置项注解定义

java
public @interface Power {
    boolean add() default true; // 数据新增功能

    boolean delete() default true; // 数据删除功能

    boolean edit() default true; // 数据修改功能

    boolean query() default true; // 输入查询功能

    boolean viewDetails() default true; // 数据查看功能

    boolean export() default false; // 数据导出功能

    boolean importable() default false; // 数据导入功能

    // 实现此接口动态控制权限
    Class<? extends PowerHandler> powerHandler() default PowerHandler.class;
}
java
public interface PowerHandler {

    /**
     * 动态控制各功能使用权限
     * @param power 增删改查等功能的简单 pojo 对象
     */
    void handler(PowerObject power);

}

注意事项

用户访问时同时检查菜单权限与注解值,开启 power 后,如果不显示,需要检查菜单权限是否完整,如果缺少菜单权限需手动添加。

Released under the Apache-2.0 License.