Java权限管理简单实现的代码
时间: 2024-05-15 12:14:13 浏览: 8
以下是一个简单的 Java 权限管理实现代码:
```java
import java.util.ArrayList;
import java.util.List;
public class PermissionManager {
private List<User> users;
private List<Role> roles;
public PermissionManager() {
this.users = new ArrayList<>();
this.roles = new ArrayList<>();
}
public void addUser(User user) {
this.users.add(user);
}
public void addRole(Role role) {
this.roles.add(role);
}
public void assignRole(User user, Role role) {
user.addRole(role);
}
public boolean checkPermission(User user, String permission) {
for (Role role : user.getRoles()) {
if (role.getPermissions().contains(permission)) {
return true;
}
}
return false;
}
}
class User {
private String name;
private List<Role> roles;
public User(String name) {
this.name = name;
this.roles = new ArrayList<>();
}
public String getName() {
return name;
}
public void addRole(Role role) {
this.roles.add(role);
}
public List<Role> getRoles() {
return roles;
}
}
class Role {
private String name;
private List<String> permissions;
public Role(String name) {
this.name = name;
this.permissions = new ArrayList<>();
}
public String getName() {
return name;
}
public void addPermission(String permission) {
this.permissions.add(permission);
}
public List<String> getPermissions() {
return permissions;
}
}
```
使用示例:
```java
PermissionManager pm = new PermissionManager();
User user1 = new User("user1");
User user2 = new User("user2");
Role role1 = new Role("role1");
Role role2 = new Role("role2");
role1.addPermission("read");
role2.addPermission("write");
pm.addUser(user1);
pm.addUser(user2);
pm.addRole(role1);
pm.addRole(role2);
pm.assignRole(user1, role1);
pm.assignRole(user2, role2);
System.out.println(pm.checkPermission(user1, "read")); // true
System.out.println(pm.checkPermission(user2, "read")); // false
System.out.println(pm.checkPermission(user2, "write")); // true
```