1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 0:jfinal club 1.4 新添加了如下四张表:
- role(id, name)
- permission(id, actionKey, controller, remark)
- account_role(accountId, roleId)
- role_permission(roleId, permissionId)
- 其中 role、permission 与老版本的 account 构成权限管理功能的三张主表,
- 而 account_role、role_permission 建立这三张主表间的关联
- 1:权限管理模块对左侧菜单进行管理,可以参考 "/_view/_admin/common/_menu.html"
- 中的 #role("权限管理员", "CEO", "CTO") 用法,只需要先用这种式方式预先
- 安排好哪些角色可以访问哪些菜单,然后就可以通过为 account 配置 role 的方式
- 来配置菜单权限了,这种模式比通过再创建 menu 表要简单方便
- 此外,也可以通过 #permission(...) 更细粒度的控制每一个菜单,一般用 #role 指令即可
- 2:权限管理模块对界面操作按钮之类的组件细粒度的控制可以参考 "/_view/_admin/project/index.html"
- 中的 #permission("/admin/project/delete") 用法,只需要先用这种方式预先
- 安排好哪些权限用于控制访问哪些按钮或组件,然后就可以通过为 account 配置权限的
- 方式来细粒度控制按纽、组件了
- 3:share、feedback 的回复管理下一版本添加:贴子 title + table 结构
- 4:头部导航已经做过搜索的界面,一直对美观不满意,留到下版本做进去,
- 搜索栏样式参考:https://fontawesome.com/v4.7.0/icons/
- 5:项目整体结构采用先划分模块,然后在模块内部再分层的方式,便于向大型系统进化,
- 市面上很多先划分层次,然后再划分模块的方式远没有此方式适应大型系统的开发,
- 此划分方式,还有利于在未来将模块独立拆分成小型服务,再以微服务的方式做分布式
- 而先分层再分模块的方式则无法方便支持
- 6:后台管理源码的包名以及视图文件的目录名以下划线打头 "_",是为了让其始终排列在
- 固定的位置,便于开发过程中快速定位,提升开发效率。否则后台管理模块的位置
- 会不断变化,例如,如果存在 about 包名,则 admin 会排在其之后
- 7:视图文件基础路径 "_view" 以下划线打头 "_",是为了将其排在 webapp 的最前面,便于快速
- 定位,提升开发效率,否则该目录会被夹杂在 assets、WEB-INF、upload 等目录之间
- 由于 jfinal 有 baseViewPath 配置,所以此安排不会给开发带来麻烦
- 8:后台管理并没有专用的登录界面,一切针对于后台管理登录界面的黑客攻击根本找不到这个界面
- 一切对于该界面的寻找必将返回 404 页面,没有专用的管理账户表,管理员账号存在于普通
- 账号之中。无招才是更好的招。
- 总之:jfinal-club 值得讨论和学习的细节极多,上述仅为冰山一角,大家一定要加入俱乐部
- 收获所有福利 http://www.jfinal.com/club
|