RBAC是各类系统中应用最广泛的访问控制机制。使用RBAC时,一个比较复杂的问题是维护数据库中的规则列表。本文使用Java注解实现了规则的自动提取,程序员只需要在需要权限控制的方法上方用RBAC注解说明规则名,规则url和能使用该方法的角色名即可。
RBAC表结构
一、RBAC注解
package annotation.rbac;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD})
public @interface Rbac {
String url();
String[] role();
String name();
}
二、角色定义
package annotation.rbac;
public class Roles {
public static final String ADMIN="admin";
public static final String MANAGER="manager";
public static final Strin