Codeigniter管理用户角色

时间:2014-01-16 17:28:49

标签: php mysql codeigniter

如何划分多个用户的访问权限和权限?我是第一次为3类用户创建不同的仪表板,例如管理员重定向到user/admin/dashboard,管理员重定向到user/moderator/dashboard等等。但我希望通过了解用户角色并管理其访问权限来找到一种简单的方法。 我的用户表看起来像: MySQL的:

CREATE TABLE IF NOT EXISTS `users` (
  `user_id` int(9) NOT NULL AUTO_INCREMENT,
  `email_add` varchar(35) COLLATE utf8_bin DEFAULT NULL,
  `password` varchar(128) COLLATE utf8_bin NOT NULL,
  `last_login` datetime NOT NULL,
  `usr_typ_id` int(4) DEFAULT NULL,
  `permissions` varchar(50) COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `email_add` (`email_add`),
  KEY `fk_usr_typ_id` (`usr_typ_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=92090005 ;

-

ALTER TABLE `users`
  ADD CONSTRAINT `fk_usr_typ_id` FOREIGN KEY (`usr_typ_id`) REFERENCES `user_type` (`type_id`);

有一次我使用drupal它是完美的,我希望看起来像这样的东西,没有完全像那样。:)

2 个答案:

答案 0 :(得分:4)

使用Permission类。

观看此video以查看此操作。

答案 1 :(得分:2)

我通常使用一个单独的表来定义用户访问。假设它的名字是tbl_acces,它有2列:usr_typ_id& menu_id。

menu_id可以是控制器中的页面或功能。因此,如果用户通过URL访问控制器中的某个功能,它将检查用户是否有权访问该页面/菜单。