關於許可權管理資料庫需要用到多少張表這個問題,網上有的說是建立六張表,有的說建立五張表,其實大同小異,根據你自己設計的表字段。不過建立五張表:使用者表,角色表,許可權表(即後來的選單表),使用者角色表,許可權角色表。是最容易讓新人理解的。
我是建立了四張表。
使用者表(我把後面的使用者角色表整合到乙個使用者表上了,所以少建一張表)
db_adminuser | create table `db_adminuser` (
`a_id` tinyint(4) unsigned not null auto_increment comment '主鍵',
`a_gid` tinyint(4) not null comment '所屬群組(關聯群組表-db_admingroup)',
`a_account` varchar(30) not null comment '管理員賬號',
`a_password` varchar(32) not null comment '登陸密碼',
`a_department` varchar(30) default null comment '部門',
`a_username` varchar(20) not null comment '管理員姓名',
`a_number` varchar(30) default null comment '工號',
`a_tel` varchar(20) default null comment '聯絡**',
`a_logtime` int(11) not null comment '最後登入時間',
`a_logip` varchar(25) not null comment '最後登入ip',
`a_ispermit` enum('0','1') not null default '0' comment '是否禁止 0:未,1:禁止登陸',
`a_regtime` int(11) not null comment '註冊時間',
`shopid` int(11) default '0' comment '店鋪id',
`a_recly` enum('0','1') not null default '0' comment '是否** 0代表沒有** 1代表**',
primary key (`a_id`),
unique key `a_account` (`a_account`)
) engine=myisam auto_increment=154 default charset=utf8 comment='使用者員表';
角色表:
db_admingroup | create table `db_admingroup` (
`g_id` tinyint(4) unsigned not null auto_increment comment '主鍵',
`g_name` varchar(30) not null comment '角色名稱',
`g_description` varchar(50) not null comment '角色描述',
`status` enum('1','0') not null default '0' comment '是否禁止 0:未,1:禁止登陸',
primary key (`g_id`)
) engine=myisam auto_increment=34 default charset=utf8 comment='角色表' ;
許可權表db_menu | create table `db_menu` (
`m_id` smallint(5) unsigned not null auto_increment comment '主鍵',
`m_pid` smallint(5) unsigned not null default '0' comment '父id,為0為頂級分類',
`m_name` varchar(30) not null comment '許可權英文名字',
`m_url` varchar(100) not null comment '許可權url',
`m_level` tinyint(3) not null default '1' comment '層次',
`status` enum('0','1') not null default '1' comment '是否顯示(0:不顯示,1:顯示)',
`m_remark` varchar(32) default null comment '樣式備註',
`m_title` varchar(32) default null comment '許可權中文名字',
`m_sort` tinyint(2) default null comment '排序',
primary key (`m_id`)
) engine=myisam auto_increment=494 default charset=utf8 comment='許可權表' ;
角色許可權表
db_access | create table `db_access` (
`a_gid` int(10) not null default '0' comment '角色id',
`a_mid` int(10) not null default '0' comment '許可權id',
`level` tinyint(2) default null comment '層次',
`module` varchar(32) default null comment '模組'
) engine=myisam default charset=utf8 comment '角色許可權表';
以上是我用到的表。
大體設計思路是。
1 建立角色,例如:管理員
2 建立使用者 隸屬於哪個組
3 新增許可權
4 給角色分配許可權
5 然後關聯表 得到某個使用者所具有的許可權
注意:以上基本上部分先後順序。
以上只是自己的體會,只是想記錄下自己的程式設計之旅。
後台管理使用者許可權資料庫設計
1.建立基本表 建立user role和module三張表,user中每一行對應乙個使用者資訊,role每一行儲存乙個角色資訊,包括角色id及對應的name,module中的每一行儲存乙個模組資訊,包括模組id及對應的name。建立三張表的sql語句 mysql環境 如下 1 建立user表,表結構...
rabbitmq之後臺管理和使用者設定
前面介紹了erlang環境的安裝和rabbitmq環境安裝,接下來介紹rabbitmq的web管理和使用者設定。通過後台管理外掛程式我們可以動態監控mq的流量,建立使用者,佇列等。mkdir etc rabbitmq usr lib rabbitmq bin rabbitmq plugins ena...
使用者許可權管理設計
使用者許可權管理設計 使用者管理許可權設計一直是大家討論的熱點,因為幾乎涉及到每乙個開發的業務系統。我找了很多很多的資料,大家的核心基本上都是一樣的 基於角色管理.使用者,角色,模組,許可權的相互組合,就可以形成乙個強大的許可權管理系統。最近在乙個專案中設計的乙個使用者許可權的設計,很樂意與大家一起...