AgileJava Security 系统的说明
Login / Logout
系统提供一个 Login 页面,当用户成功后,转到系统欢迎页面。
在所有页面上都有 Logout 的按钮,点击该按钮,系统将该用户Logout并转向推出登录完成页面。
访问系统中的页面,如果该用户没有登录,将转向登录页面,如果此时登录成功,将转向开始访问的页面。(不使用Frame 或 Login 页面和访问页面要在用一个 Frame 里)
访问权限控制 (Access Control)
所控制的权限功能: 某个 Domain 的 CRUD
被控制的内容: 1. Page(URL) 2. Function 3. Page Area (Button)
权限系统的模型 User - Role - Permission - Resource
User:User 表示使用系统的一个用户。
Role:Role 表示使用系统中的一个角色。其中可以包含多个 User,同样一个 User 也可以同时属于多个 Role
Permission:Permission 表示一个具体 Domain 的使用权限。比如 Product 的 Create / Update 算是一种权限, Delete 算是一种权限,Retrieve 也算是一种权限。通常我们定义一个 Domain 对应有 Modify / Delete / Retrieve 三种权限,我们可以把一个 Domain 对应的 Permission 分配给 Role,当然我们也可以为 Domain 加入更多的 Permission,比如 Import / Export 等等。
Resource::Resource 表示使用者使用的资源。目前包括访问的 URL,调用的 Service 方法。在系统中,我们预先把需要控制的资源加入数据库,并与 Permission 建立关联。从使用角度上,使用者只关心分配给 User 的 Role已经分配给 Role 的 Permission,具体 Permission 对应的 Resource 均由开发人员预先定义好。
Domain 的查看权
控制指定用户是否可以查看某个客户或该客户所关联的其它内容。
如指定某个用户只可以查看自己所负责的客户和该客户相关的联系人等。
如果具备相应的权限,则可以在搜索时搜到相应的内容,并可以查看该内容。
菜单显示
如果用户不具备相应的权限,则系统对应的菜单将显示为红色(或不显示)