dorado框架权限控制实现方案参考
4 数据库建库脚本:
create table user_info( id int generated by default as identity (start with 1) primary key, username varchar(30) not null, userpwd varchar(30) not null, sex bit, birthday datetime, create_time datetime,--创建时间 roleId int not null --所属的角色ID ) ;
create table role_info( id int generated by default as identity (start with 1) primary key, role_name varchar(30) not null, create_time datetime,--创建时间 remark varchar(1000) ) ;
create table view_config( id int generated by default as identity (start with 1) primary key, config_name varchar(200) not null, create_time datetime,--创建时间 remark varchar(500) ) ;
create table role_view( id int generated by default as identity (start with 1) primary key, roleId int not null,
create_time datetime,--创建时间 viewId int not null ) ;
create table role_view_control( id int generated by default as identity (start with 1) primary key, viewId int not null, roleId int not null,
create_time datetime,--创建时间 controlId varchar(200) not null
第26页 共66页
dorado框架权限控制实现方案参考
)
--建立user_info外键
alter table user_info add constraint user_info_key foreign key(roleId) references role_info(id) ;
--建立role_view外键
alter table role_view add constraint role_view_role_key foreign key(roleId) references role_info(id) ;
--建立role_view外键
alter table role_view add constraint role_view_view_key foreign key(viewId) references view_config(id) ;
--建立role_view_control外键
alter table role_view_control add constraint view_control_view_key foreign key(viewId) references view_config(id) ;
--建立role_view_control外键
alter table role_view_control add constraint view_control_role_key foreign key(roleId) references role_info(id) ;
--建立导航菜单表
create table navigate_menu( id int generated by default as identity (start with 1) primary key, menu_name varchar(30), menu_label varchar(30), menu_path varchar(100), menu_icon varchar(100), create_time datetime, --创建时间 parent_id int ) ;
--建立角色与菜单关系表 create table menu_role( id int generated by default as identity (start with 1) primary key, menuId int not null, roleId int not null
第27页 共66页
dorado框架权限控制实现方案参考
)
--建立menu_role的两个外键
alter table menu_role add constraint menu_role_role_key foreign key(roleId) references role_info(id) ;
alter table menu_role add constraint menu_role_menu_key foreign key(menuId) references navigate_menu(id) ;
--建立navigate_menu的自关联外键
alter table navigate_menu add constraint navigate_menu_key foreign key(parent_id) references navigate_menu(id) ;
--异常信息记录表
create table exception_log( id int generated by default as identity (start with 1) primary key, exception_name varchar(300) not null, msg varchar(1000), ip varchar(20), happen_time datetime )
简单说明一下表的关系和用途.
表名称 中文名 说明 user_info 用户信息表 用户的基本信息 role_info 角色信息表 系统角色的基本信息 view_config 视图信息表 系统中所有的视图信息 role_view 角色-视图关系表 角色能够访问的视图,多对多
关系
role_view_control 角色-视图-控件表 角色能够访问某一个视图的
某些控件
请注意:为了降低演示的复杂度,此间使用的表的设计可能需要进一步完善,请各位读者根据实际情况自行处理.
第28页 共66页
dorado框架权限控制实现方案参考
5 系统加入日志:加入spring.jar包,在web.xml文件中加入日志有关加在信息:
第29页 共66页
dorado框架权限控制实现方案参考
6 编写log4j.xml,定制日志文件输出形式和格式:
value=\【AppLog】 %d{ABSOLUTE} %-5p %m%n\/>
第30页 共66页