All Downloads are FREE. Search and download functionalities are using the official Maven repository.

club.zhcs.lina.auth.aop.Auth Maven / Gradle / Ivy

package club.zhcs.lina.auth.aop;

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

/**
 * 
 * @author Kerbores([email protected])
 *
 */
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Auth {

	/**
	 * 
	 * @author Kerbores([email protected])
	 *
	 */
	enum Logical {
		/**
		 * 且
		 */
		AND, 
		/**
		 * 或
		 */
		OR
	}

	/**
	 * 
	 * @author Kerbores([email protected])
	 *
	 */
	enum AuthType {
		/**
		 * 角色
		 */
		ROLE, 
		/**
		 * 权限
		 */
		PERMISSION
	}

	/**
	 * 逻辑关系
	 * 
	 * @return 逻辑关系
	 */
	Logical logical() default Logical.AND;

	/**
	 * 
	 * @return 权限值
	 */
	String[] value() default {};

	/**
	 * 类型
	 * 
	 * @return 鉴权类型
	 */
	AuthType type() default AuthType.PERMISSION;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy