要实现好权限管理,涉及的东西很多。从数据库设计到应用层的规划到表示层的编写,不是一两句能说清楚的。按你说的那种层级的权限管理,考虑从以下方面来实现: 1.采用数据库实现树的存储结构,存储角色间的层级关系。还需要两张表,一是角色于功能资源的对应表。一是用户于角色的对应表。 
2.系统缓存,因为权限菜单很少变动的 
3.应用层需要查找用户角色对应表找到角色,以及资源对应的角色,然后递归的查询资源所属角色是否在角色结构树里。代码实现简单的话可以考虑用template模式将权限检测模块编写成固定的模板,如果要应用得深层次点,可以考虑用Spring AOP做个拦截器,很方便的 
4.如果再做深层点,还是建议用Spring AOP,不过接口你得规划好点。因为当前是向下允许的访问方式,不同的机构有不同的访问方式,有的需要复合的权限管理(一人多角色),有的扁平结构。有的上级不能访问下级。你得考虑好你的接口能适合不同的权限管理模式。需要不同类型的权限管理时使用Spring切换权限拦截器,这样架构有很高灵活度。
参考:http://topic.csdn.net/u/20071230/11/144ed017-6237-4c2d-b793-8d90ab5a8a45.html
也有专门的权限安全控制框架可以用