Codeigniter - 身份验证库还是自定义控制器?

时间:2011-12-27 19:25:55

标签: php codeigniter authentication

我想知道我的情况最好。我正在使用CodeIgniter构建一个站点,其中包含两个主要部分:

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

在公共区域的每个页面(一个控制器)中,我想在表单和注册链接中添加一个符号,如果用户已登录,则必须将其重定向到私有区域,或者指向它的链接可能是所示。

现在我有两个选择:

  1. 用户控制器是我想到的第一件事,但在我需要控制的网站的每个页面中,如果用户已登录,这是不可能或非常糟糕的,因为我正在使用另一个控制器
  2. 所以我开始研究一个库,但我不确定如何实现它(例如表单验证应该由控制器或库本身来实现?,数据库连接怎么样,因为我没有模型?)
  3. 您认为最好的是什么?为什么?你会如何实现它?

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

2 个答案:

答案 0 :(得分:0)

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

您的超级控制器是您的公共控制器,只要您只进行分配,不进行检查......

你想要公开的东西只是扩展超级控制器

你想要私有的东西扩展私人控制器

答案 1 :(得分:-1)

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

拥有日志标志的想法是:

  1. 当用户登录时,为其创建会话以显示访问权限。
  2. 每次会话时检查私人部分。