通过自定义注解控制权限

本文介绍了如何通过创建自定义注解并结合面向切面编程(AOP),实现细粒度的权限控制。首先,讲解了如何定义注解类和枚举值,接着阐述了在应用程序中如何进行权限检查,最后提供了具体的使用示例。
摘要由CSDN通过智能技术生成

1、编写自定义注解类 

/**
 * 自定义Access注解
 * 若使用在类上,这个类的所有方法都进行权限校验,暂不支持
 * 若使用在方法上,这个方法进行权限校验
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Access {

    /**
     * 表明该方法允许哪些角色id访问
     * @return
     */
    RoleEnum[] roles() default {};

    /**
     * 备注
     */
    String comment();

}

2、定义枚举值

/**
 * 角色枚举类
 */
public enum RoleEnum {

    C2C_SELLER(1,"C2C商家"),
    CSR(2,"客服"),
    FINANCE_ADMIN(5,"财务"),
    SUPER_ADMIN(7,"超级管理员"),
    EM_ADMIN(10,"电商管理员"),
    KOL_ADMIN(25,"市场运营"),
    UNKNOWN(-100,"未知角色"),
    BRAND_SELLER(100,"供应商"),
    ;

    RoleEnum(Integer roleId, String desc) {
        this.roleId = roleId;
        this.desc = desc;
    }

    /**
     * 角色ID
     */
    private Integer roleId;

    /**
     * 角色描述
     */
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值