在学习CI框架的过程中,我们会发现其钩子hooks非常强大,CodeIgniter 的钩子功能使得您可以在不修改系统核心文件的基础上来改变或增加系统的核心运行功能。通常上讲:其能够在任何一次访问控制器前先访问hooks,进行相应的控制。
今天提供一种是用hooks控制权限的方法
用php做后台管理系统时,我们需要:
1.不同登陆角色拥有不同访问权限,访问到不同的菜单方法。
2.防止通过url进行系统非法访问
权限方案:
开发实例环境:php语言,CI框架
权限控制方案:将所有控制器的方法存入数据库,将方法与菜单进行绑定,将角色与菜单进行绑定。于是,每一次访问控制器前,都会进入hooks的权限控制。
第一层控制:先通过查看是否注册session,查看访问是否合法,如果非法就打回到登录界面。
第二层控制:取出session中存的角色信息,比对该角色对 菜单和方法的访问权限是否合法。
如此我们即能够通过CI的hooks进行对访问权限以及安全进行控制