mouf/security.userfiledao

此包包含一个UserDao的实现,它将应用程序用户存储在简单的PHP文件中。它可以与MoufUserService一起使用,为应用程序提供易于使用的访问管理。由于用户存储在PHP文件中,这个非常特殊的DAO根本不需要数据库。

安装: 142 484

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 1

公开问题: 0

类型:mouf-library

v4.0.0 2023-01-25 10:37 UTC

This package is auto-updated.

Last update: 2024-08-25 14:07:55 UTC


README

TL;DR?

此包是Mouf PHP框架的一部分。如果您想进行用户身份验证但没有数据库存储用户,则需要此包。此包包含一个“DAO”,该DAO将您的用户存储在文件中而不是数据库表中。

为什么我应该关注这个包?

Mouf PHP框架附带一个用于管理用户身份验证的库:UserService。UserService不对用户存储的位置做出任何假设。它们可以存储在关系型数据库(如MySQL)或面向对象的数据库(如MongoDB)中等。UserService所需的所有东西都是一个UserDao,该UserDao负责检索用户并检查密码。

这就是这个包和UserFileDao发挥作用的地方。

此包包含一个UserDao实现,它将应用程序用户存储在简单的PHP文件中。它可以与UserService一起使用,为应用程序提供易于使用的访问管理。由于用户存储在PHP文件中,这个非常特殊的DAO根本不需要数据库!

安装

此包作为composer包提供

composer require mouf/security.userfiledao

它如何工作?

只需在Mouf中创建一个UserFileDao实例并将其绑定到userService实例。

您需要配置的唯一属性是$userFile构造函数参数。它包含包含用户列表的文件的路径。路径相对于项目的根目录。

userFileDao

注册用户

为了创建文件并添加用户,您可以使用registerUser()和write()方法。

$userFileDao = Mouf::getUserFileDao();

// Let's create the user.
$user = new UserFileBean();
$user->setLogin("david");
// The password is hashed and never appears in cleartext in any file.
$user->setClearTextPassword("my very secret password");
// If you want to add more data, you can store them in the options:
$user->setOptions([ "option1" => 42 ]);

// Let's register the user
$userFileDao->registerUser($user);

// Finally, let's rewrite the users file.
$userFileDao->write();

删除用户

使用removeUser()方法。

$userFileDao = Mouf::getUserFileDao();

// Let's remove a user
$userFileDao->removeUser('david');

// Finally, let's rewrite the users file.
$userFileDao->write();

检查包含用户的文件是否存在

有一个实用函数可以检测包含用户的文件是否可用

$userFileDao = Mouf::getUserFileDao();

// Check if a user file exists or not
if (!$userFileDao->isUserFileAvailable()) {
	// Do something (maybe redirect the user to a page where he can create a user?)
}

注意事项

此包在Mouf内部用于存储登录Mouf管理界面的凭据。如果您不小心丢失了这些凭据,您可以简单地删除用户文件。对于Mouf PHP框架,此文件存储在[root path]/mouf/no_commit/MoufUsers.php中。