MCPcopy Index your code
hub / github.com/Tencent/APIJSON / AbstractVerifier

Class AbstractVerifier

APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java:60–1926  ·  view source on GitHub ↗

校验器(权限、请求参数、返回结果等) TODO 合并 Structure 的代码 @author Lemon @param id 与 userId 的类型,一般为 Long

Source from the content-addressed store, hash-verified

58 * @param <T> id 与 userId 的类型,一般为 Long
59 */
60public abstract class AbstractVerifier<T, M extends Map<String, Object>, L extends List<Object>>
61 implements Verifier<T, M, L>, IdCallback<T> {
62 private static final String TAG = "AbstractVerifier";
63
64 /**为 PUT, DELETE 强制要求必须有 id/id{}/id{}@ 条件
65 */
66 public static boolean IS_UPDATE_MUST_HAVE_ID_CONDITION = true;
67 /**开启校验请求角色权限
68 */
69 public static boolean ENABLE_VERIFY_ROLE = true;
70 /**开启校验请求传参内容
71 */
72 public static boolean ENABLE_VERIFY_CONTENT = true;
73
74 /**未登录,不明身份的用户
75 */
76 public static final String UNKNOWN = "UNKNOWN";
77
78 /**已登录的用户
79 */
80 public static final String LOGIN = "LOGIN";
81
82 /**联系人,必须已登录
83 */
84 public static final String CONTACT = "CONTACT";
85
86 /**圈子成员(CONTACT + OWNER),必须已登录
87 */
88 public static final String CIRCLE = "CIRCLE";
89
90 /**拥有者,必须已登录
91 */
92 public static final String OWNER = "OWNER";
93
94 /**管理员,必须已登录
95 */
96 public static final String ADMIN = "ADMIN";
97
98// public static ParserCreator<T, M, L> PARSER_CREATOR;
99
100 public static ScriptEngineManager SCRIPT_ENGINE_MANAGER;
101 public static ScriptEngine SCRIPT_ENGINE;
102
103 // 共享 STRUCTURE_MAP 则不能 remove 等做任何变更,否则在并发情况下可能会出错,加锁效率又低,所以这里改为忽略对应的 key
104 public static Map<String, Entry<String, Object>> ROLE_MAP;
105
106 public static List<String> OPERATION_KEY_LIST;
107
108 // <TableName, <METHOD, allowRoles>>
109 // <User, <GET, [OWNER, ADMIN]>>
110 @NotNull
111 public static Map<String, Map<RequestMethod, String[]>> SYSTEM_ACCESS_MAP; // TODO 改名为 CONFIG_ACCESS_MAP ?
112 @NotNull
113 public static Map<String, Map<RequestMethod, String[]>> ACCESS_MAP;
114 @NotNull
115 public static Map<String, Map<String, Object>> ACCESS_FAKE_DELETE_MAP;
116
117 // <method tag, <version, Request>>

Callers

nothing calls this directly

Calls 3

getAccessMapMethod · 0.95
sizeMethod · 0.80
putMethod · 0.65

Tested by

no test coverage detected