Codeigniter -身份验证库或自定义控制器


Codeigniter - Authentication Library or Custom Controller?

我想知道对我来说什么是最好的。我正在使用CodeIgniter建立一个网站,有两个主要部分:

  • 所有人都可以使用的公共部分
  • 注册用户专用

在公共区域(一个控制器)的每个页面,我想把一个签名的形式和注册链接,如果用户登录,他必须被重定向到私人区域或链接到它可能会显示。

现在我有两个选择:

  1. 用户控制器是我想到的第一件事,但在网站的每个页面,我需要控制用户是否登录,这是不可能的或非常糟糕的,因为我使用另一个控制器
  2. 所以我开始在一个库工作,但我不确定如何实现它(例如表单验证应该由控制器或库本身实现?,数据库连接,因为我没有一个模型吗?)

你认为什么是最好的?为什么?你将如何实现它?

(是的,我喜欢重新发明轮子,不使用现有的库,主要是因为我想学习如何做到这一点)

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

你的超级控制器是你的公共控制器,只要你只做分配,不检查…

只要扩展super controller

任何你想要私有的扩展私有控制器

表单验证和查询任务应该与控制器本身一起执行。库就像一个工具,不需要在它们中实现这些东西,但作为需要,你可以在它们中使用查询来检查一些数据,但最好是在控制器中工作。

使用日志标志的目的是:
  1. 当用户登录时,为其创建会话以显示访问权限。
  2. 每次会话检查私钥部分