PHP身份验证库,如何构建和配置它


PHP authentication library, how to build and configure it?

标题可能不太清楚,但我解释了我的问题。我正在为我的项目构建PHP MVC框架。我知道有一些PHP框架,但我喜欢编写代码,我这样做是为了了解更多关于PHP、MVC和其他OOP模式的信息。它工作得很好,至少是我迄今为止构建的组件。

我使用PHP 5.3和名称空间,所以我可以根据类的名称空间/名称来要求/加载类。我构建了SPR-0类加载器类,它使我能够在我的框架内使用其他使用SPR-0"标准"/约定的库,如Doctrine或Symfony2组件。框架本身的所有功能,我称之为核心,都是作为一个组件编写的。所以我有''Core''Controller''Controller()类、''Core''Router''Dispatcher()类或''Filesystem''FileManager()类。所以我在需要的地方使用它们。核心组件使我能够添加路由、检测它们、调用适当的控制器/操作等……来基本构建MVC。

现在我需要身份验证模块来检查用户是否登录到受保护的页面上。我该如何设置?最大的问题是如何告诉身份验证模块要使用哪些表?在哪里可以找到用户名和密码?如何配置身份验证模块,使其知道在哪里查找用户名和密码?我可以在数据库中设置users表,并且从不更改它,然后指示Authentication在哪里找到他需要的东西。但若在下一个项目中,我想使用不同的数据库设计,并且我想使用电子邮件行而不是用户名,该怎么办?

希望你能理解困扰我的是什么…

简短的问题是,如何设置身份验证类/模块,以便稍后将其配置为使用其他行从中获取数据,以及就配置而言,该类的灵活性如何?我应该在配置中映射一些变量用户名映射到表用户行用户名的位置吗?这样我就可以将后者更改为电子邮件了?如何构建灵活且可配置的Auth库?

问题很长,所以感谢阅读。。。

如果我理解正确,您希望能够根据您所从事的项目选择不同的DB表进行Auth…

那么,为什么不创建一个配置文件,让它首先被框架"读取"呢?

这就是我认为的其他框架。您提供了主机、数据库名、用户等等…在您的情况下,除此之外,您还会在配置中写下哪些表和字段用于身份验证/授权?