Codeigniter Ion Auth 编辑用户表

Posted

技术标签:

【中文标题】Codeigniter Ion Auth 编辑用户表【英文标题】:Codeigniter Ion Auth editing users table 【发布时间】:2016-01-23 12:25:51 【问题描述】:

我是 Codeigniter 的新手,正在学习 ion auth 身份验证系统。我只是有几个问题:

1) 是否可以修改默认用户表? (您会建议还是反对?)我知道模型、视图、库或控制器中可能存在期望表具有其确切默认结构的函数,但例如,我不需要公司列,那么我该如何移除它呢?

2) 如何在默认用户表中添加额外的用户信息? (如果我只是执行一些 sql 将列添加到默认用户表中,它会影响任何功能吗?)

3)这是从theast问题的后续问题,是否有人建议为我的其他用户信息创建一个单独的表并使用他们的用户ID作为这个新表中的主键,然后通过我的访问tjat信息自己的模型?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

    是的,可以编辑 users 表,但是,您必须通过 ion_auth_model / 库来检查对要删除的字段的调用/写入。否则,您将在尝试将数据插入不存在的字段时遇到 500 错误。

    是的,您可以在 phpmyadmin 中添加其他字段,您可以在其中访问数据库本身。额外的字段要么需要设置为 null(以防止在数据不存在时写入错误),要么您必须根据需要包含这些字段并将它们添加到 ion_auth 的现有函数中。

    好主意,通常我遵循的规则是在数据库中保留尽可能少的空字段。因此,如果每个用户都有额外的信息,并且您没有将表扩展到荒谬的长度,那么我会将其附加到 users 表中。否则,如果您要添加 可选 附加字段,最好做一个关联表。


不要忘记您是开发人员,库用于方便和安全,但不要觉得您无法定制它们以更好地满足您的需求。这就是我们获得千篇一律的应用程序的方式。

【讨论】:

【参考方案2】:

向数据库中的默认用户表添加/删除字段是可以的,只要您删除依赖于它的 Ion Library 中的关联代码。我鼓励您分叉 Ion Authentication 库并根据您的要求对其进行修改。

如果您想不修改离子库,创建另一个表来存储其他信息是正确的方法。

对于修改数据库表/字段,建议使用 CodeIgniter 的迁移,以便您可以在 Git 等源代码存储库中跟踪数据库更改。

【讨论】:

以上是关于Codeigniter Ion Auth 编辑用户表的主要内容,如果未能解决你的问题,请参考以下文章

Ion Auth (Codeigniter) - 如何使用不同的数据库

为 ion auth 和 codeigniter 构建表

codeigniter nodejs 和 nowjs 集成

如何防止codeigniter中的自动注销?

如何在codeigniter中要求一次

我可以通过用户名或电子邮件将Ion auth设置为登录