用戶權限系統的設計

我們準備了兩個欄目來對此進行處理。

角色管理和員工管理。

角色管理:此功能相當於權限組

表結構如下:

CREATE TABLE `admin_role` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增編號',
  `name` varchar(32) NOT NULL DEFAULT '' COMMENT '角色名稱',
  `desc` varchar(255) NOT NULL DEFAULT '' COMMENT '角色描述',
  `permission` varchar(1000) NOT NULL DEFAULT '' COMMENT '權限',
  PRIMARY KEY (`id`),
  UNIQUE KEY `role_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 COMMENT='後臺角色表'
;


員工管理:

CREATE TABLE `staff` (
  `number` int(6) unsigned NOT NULL DEFAULT '0' COMMENT '工號',
  `password` varchar(32) NOT NULL COMMENT '密碼',
  `name` varchar(20) NOT NULL COMMENT '姓名',
  `role` varchar(255) NOT NULL DEFAULT '' COMMENT '角色',
  `permission` varchar(1000) NOT NULL DEFAULT '' COMMENT '權限',
  PRIMARY KEY (`number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='員工表'


在角色表中記錄權限的數組爲permission

如果員工的角色爲一個,則擁有這個的權限。


另外,針對有的人有特殊權限,可以不用角色組來處理,在用戶表中permission記錄這個人單獨的權限.



分配角色的代碼

<div class="m1title">
<span class="checkAll">全選</span>
<span class="unCheckAll">全不選</span>
</div>
<div class="m1">
<ul>
<?php foreach($roles as $role):?>
<li>
<input type="checkbox" name="role[]" value="<?php echo $role->id?>" class="check">
<?php echo $role->name?>
</li>
<?php endforeach;?>
</ul>
<div class="clear"></div>
</div>

<script type="text/javascript">
$(function(){
$('.checkAll').click(function(){
$('.check').attr('checked',true);
})
$('.unCheckAll').click(function(){
$('.check').attr('checked',false);
});
})
</script>









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章