Initial commit
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
package com.mzh.library.service;
|
||||
|
||||
import com.mzh.library.entity.Permission;
|
||||
import com.mzh.library.entity.Role;
|
||||
|
||||
public final class PermissionPolicyCheck {
|
||||
private PermissionPolicyCheck() {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
PermissionPolicy policy = new PermissionPolicy();
|
||||
|
||||
require(policy.allows(Role.ADMINISTRATOR, Permission.MANAGE_USERS), "administrator should manage users");
|
||||
require(policy.allows(Role.LIBRARIAN, Permission.MANAGE_BORROWING), "librarian should manage borrowing");
|
||||
require(!policy.allows(Role.LIBRARIAN, Permission.MANAGE_USERS), "librarian should not manage users");
|
||||
require(policy.allows(Role.READER, Permission.VIEW_CATALOG), "reader should view catalog");
|
||||
require(!policy.allows(Role.READER, Permission.MANAGE_BOOKS), "reader should not manage books");
|
||||
}
|
||||
|
||||
private static void require(boolean condition, String message) {
|
||||
if (!condition) {
|
||||
throw new AssertionError(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user