定制 mouf/security.userfiledao 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mouf/security.userfiledao

Composer 安装命令:

composer require mouf/security.userfiledao

包简介

This package contains an implementation of a UserDao, that stores the application users in a simple PHP file. It can be used together with the MoufUserService to provide easy access management to an application. Since the users are stored in a PHP file, this very special DAO does not require a datab

README 文档

README

TL;DR?

This package is part of the Mouf PHP framework. You need this package if you want to authenticate users but you don't have a database to store your users. This package contains a "DAO" that stores your users in a file instead of a database table.

Why should I care about this package?

The Mouf PHP framework comes with a library to manage the authentication of users: the UserService. The UserService does not make any assumption on where the users are stored. They could be stored in a relational database like MySQL or in an object oriented database like MongoDB, etc... The only thing the UserService requires is a UserDao that is in charge of retrieving the users and checking the password.

This is where this package and the UserFileDao comes into play.

This package contains an implementation of a UserDao that stores the application users in a simple PHP file. It can be used together with the UserService to provide easy access management to an application. Since the users are stored in a PHP file, this very special DAO does not require a database at all!

Installing

This package comes as a composer package:

composer require mouf/security.userfiledao

How does it work?

Simply create a UserFileDao instance in Mouf and bind it to the userService instance.

The only property you need to configure is the $userFile constructor argument. It contains a path to the file that contains the list of users. The path is relative to the root of your project.

userFileDao

Registering a user

In order to create the file and add a user in it, you can use the registerUser() and write() methods.

$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();

Removing a user

Use the removeUser() method.

$userFileDao = Mouf::getUserFileDao();

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

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

Checking whether a file containing users exists or not

There is a utility function to detect if a file containing users is available or not:

$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?)
}

Good to know

This package is internally used by Mouf to store your credentials to log into the admin interface of Mouf. If you happen to loose those credentials, you can simply delete the user file. For the Mouf PHP framework, this file is stored in [root path]/mouf/no_commit/MoufUsers.php.

mouf/security.userfiledao 适用场景与选型建议

mouf/security.userfiledao 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 144.72k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2012 年 10 月 16 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「User management」 「security」 「mouf」 「userdao」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 mouf/security.userfiledao 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 mouf/security.userfiledao 我们能提供哪些服务?
定制开发 / 二次开发

基于 mouf/security.userfiledao 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 144.72k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 26
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2012-10-16