package cn.com.qmth.stmms.common.annotation;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import cn.com.qmth.stmms.common.enums.Role;

/**
 * 通用方法角色验证定义
 *
 * @author LS
 */
@Target({ METHOD })
@Retention(RUNTIME)
public @interface RoleRequire {

    /**
     * 指定需要的权限列表
     */
    Role[] value() default {};

    /**
     * 多个权限之间是否只需满足任意一个即可，默认为true
     *
     * @return
     */
    boolean nand() default true;

    /**
     * 验证失败后的跳转URI
     *
     * @return
     */
    String redirect() default "";
}
