用户,资源,权限 系统组件的设计大家来讨论一下

             权限管理组件,本人想这个组件式的权限管理系统。因为在我们的应用当中大部分要涉及到权限管理的部分,可是因为本人是菜鸟。一直没有个好的设计,还请楼上楼下,楼前楼后的同行们指点迷津,小弟在这里谢过了

经典模型就是用户、角色、资源

简单一点权限控制可以把资源去掉,就用户和角色就行。

想控制粒度细点就加上资源,资源就是用户可以访问的功能

用户拥有一个角色:
[code="java"]
public class User {
private String name;
private String passport;
@ManyToOne
private Role role;
}
[/code]

角色和资源是多对多的关系:

[code="java"]public class Role {
private String name;
@ManyToMany
private Resource resource;
}[/code]

[code="java"]public class Resource {
private String name;
private String url;
}[/code]

权限管理实在难以通用....因为不同的系统粒度不同.

你也可以参考一下acegi也就是现在的Spring Security的实现。

看看RBAC模型,就是火星人说的用户-角色-资源。
SpringSecurity比较复杂,你可以单看userdetail这个包。