lzpeng/php-user-auth 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

lzpeng/php-user-auth

Composer 安装命令:

composer require lzpeng/php-user-auth

包简介

用户认证核心库

README 文档

README

用户认证核心库,目标是抽象并统一认证API, 各个php框架能在其之上快速实现一个稳定的用户认证库。

概念

用户身份对象

用于表示用户身份

用户身份对象提供器

对于不同系统,用户身份信息来源可能都不一样,可能来源于数据库、配置文件、甚至第三方系统等。

认证器

核心; 抽象用户认证API

认证管理器

组装内部组件,创建认证器

访问控制器

提供一个简单的基于资源的权限访问控制功能

权限资源提供器

权限资源可能来源于数据库、配置文件等,所以抽象出来

事件管理器

为认证器、访问控制器提供事件处理能力

基本使用方式

// 配置 $config = [ 'default' => 'test', 'authenticators' => [ 'test' => [ 'driver' => 'session', 'params' => [ 'session_key' => 'UserIdentity', ], 'provider' => [ 'driver' => 'model', 'params' => [ 'model' => \app\common\model\User::class, ] ], 'events' => [ 'login_before' => [] ] ], 'test2' => [ 'driver' => 'token', 'params' => [ 'token_key' => 'user-token', ], 'provider' => [ 'driver' => 'model', 'params' => [ 'model' => \app\common\model\User::class, ] ], 'events' => [ 'login_before' => [] ] ] ] ];

$authManager = new AuthManager($config);

// 注册认证器 $authManager->registerAuthenticatorCreator('session', function($config) { // 认证器需要实现AuthenticatorInterface // 如果需要事件处理功能,需要实现EventableInterface接口 // 如果需要访问控制功能,需要实现AccessableInterface接口 // 或直接继承AbstractAuthenticator return new SessionAuthenticator($config['session_key']); }); // 注册用户提供器 $authManager->registerUserProviderCreator('model', function($config) { // 需要实现UserProviderinterface接口 return new ModelUserProvider($config['model']); });

// 创建默认认证器 $authenticator = $authManager->create(); // 创建指定的认证器 // $authenticator = $authManger->create('test2');

// 登录 $authenticator->login([ 'username' => 'xxx', 'password' => '****', ]);

// 是否已登录 $authenticator->isLogined();

// 获取用户 $user = $authenticator->user();

// 登出 $authenticator->logout();

扩展方式

扩展�认证库

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-03-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固