Php Codeigniter-身份验证库还是自定义控制器?
我想知道对我来说什么是最好的。我正在使用CodeIgniter构建一个站点,它有两个主要部分:Php Codeigniter-身份验证库还是自定义控制器?,php,codeigniter,authentication,Php,Codeigniter,Authentication,我想知道对我来说什么是最好的。我正在使用CodeIgniter构建一个站点,它有两个主要部分: 公共部分对每个人都有效 仅限注册用户使用的专用 在公共区域(一个控制器)的每一页中,我想放置一个登录表单和一个注册链接,如果用户已登录,则必须将其重定向到私人区域,或者显示指向该区域的链接 现在我有两个选择: 用户控制器是我想到的第一件事,但在网站的每个页面中,我都需要控制用户是否登录,这是不可能的,或者是非常糟糕的,因为我正在使用另一个控制器 因此,我开始研究一个库,但我不确定如何实现它(例如,
- 公共部分对每个人都有效
- 仅限注册用户使用的专用
(是的,我喜欢改头换面,不使用现有库,主要是因为我想学习如何操作)表单验证和查询作业应该由控制器本身执行。该库就像一个工具,不需要在其中实现这些东西,但作为一种需要,您可以使用其中的查询来检查一些数据,但最好在控制器中工作 设置日志标志的目的是:
任何你想要的私有扩展私有控制器如何检查用户是否登录到
用户
的构造函数中?但是由于我使用不同的控制器来显示站点的页面,我不能调用另一个控制器的方法,或者在不破坏mvc模型的情况下用构造函数加载它。CI是一个糟糕的框架学习如何正确地完成这项工作,因为它是静态的,因此无法灵活地扩展和重用,尤其是在控制器方面。理想情况下,我会用访问检查装饰需要它的控制器,并在路由中定义哪些控制器需要访问检查。然后,如果控制器需要,应用程序控制器将执行访问检查。我可以扩展类ci_controller来执行此操作…好主意,这样您可以在以下情况下阻止节/部分视图或小部件(Modules::run('auth/_check_permissions',$user_id))
Super Controller
=>assign user data,settings,configs etc
|-----private controller extends super controller
=>check user credentials
|-----admin controller extends super controller
=>check user && admin credentials