纵观我们系统实现的功能,一部分是简单的CRUD,这些通常是由业务层调用DAO层对应的方法;一部分是由业务层协调多个DAO层对象一起工作的复杂业务功能。这些功能在实现的时候都会按照实际业务处理情况组织在某个模块(在界面上表现为窗体或者网页)里面。那么按照RBAC的理论,这些模块就是一个个的资源,而针对这些资源存在有一系列的可以进行的操作,如“访问”、“增加xx”,“修改xxx”,"删除xxx",“读取xxx”。操作,这些操作通常会与界面挂钩,如“访问”用来表示对窗体的可见性,“增加xxx”用来表示对按钮的可见性。按照我们一般的处理方法,用户菜单的构建就通过对模块的“访问”权限来组织。这里的模块都对应到具体的业务逻辑类。
针对johnnylzb讲的受控资源,我觉得这样来划分可能更加贴切、直观一些。