首先界定開發(fā)框架都包含哪些內(nèi)容:
- 權(quán)限控制
- 日志、異常處理
- 開發(fā)規(guī)范
- 等等
權(quán)限控制這里采用基于RBAC(Role Based Access Controll勒葱,基于角色的訪問控制)原理拙吉,也是最常見的织咧。目前Java系列的權(quán)限框架還有Shiro和Spring Security垃它,這兩個用的人也很多迁霎,后續(xù)再講。
RBAC的原理是什么呢俺陋,就是基于Http請求豁延,把所有的請求都當(dāng)做一個資源,包括查詢腊状、增加诱咏、修改、刪除等寿酌,然后定義角色胰苏,為角色賦資源。定義用戶醇疼,為用戶分配角色。這就是RBAC的原理法焰,還是比較清晰的秧荆。通過SpringMVC的攔截器來校驗用戶是否具有權(quán)限。
數(shù)據(jù)庫設(shè)計
該框架數(shù)據(jù)庫采用MySQL5.7埃仪,同Oracle相比乙濒,不同的是數(shù)據(jù)表的主鍵,MySql采用自增主鍵即可卵蛉,Oracle采用sequence來生成主鍵颁股,其余都基本一致。如果想改造成Oracle版本的傻丝,只需要在Dao里面的新增方法改一下即可甘有。
核心表:
- 系統(tǒng)資源表t_sys_resource
- 角色表t_sys_role
- 角色對應(yīng)資源t_sys_roleresource
- 用戶表t_sys_user
- 用戶操作日志t_sys_log
- 用戶登錄日志t_sys_userlogin