wbc/auth-redux

现有PEAR Auth配置的现代化替代品。

v0.9.6 2018-07-16 11:32 UTC

This package is auto-updated.

Last update: 2024-09-17 00:46:26 UTC


README

一个现代化的替代品,用于PEAR/Auth,覆盖了大部分原始的公共API。但也可用于任何简单的认证需求。

示例用法

// Optionally globally define the legacy PEAR\Auth constants
// like AUTH_WRONG_LOGIN if they're used in your code.
WBC\Auth\LegacyPEARAuth::defineLegacyConstants();

$redux = new WBC\Auth\Redux(
    // Choose a storage that looks up your users, often a database.
    new WBC\Auth\Storage\PDO($db),
    // Choose a hashing layer, several are available.
    new WBC\Auth\Hashing\Standard(),
    // Choose a session layer to store the currently logged in user.
    new WBC\Auth\Session\Standard()
);

// Finally we just wrap $redux in a compatibility layer
// that emulates PEAR/Auth
$auth = new WBC\Auth\LegacyPEARAuth($redux, 'your_login_function');

// You can now just continue to use your existing code that relies
// on PEAR/Auth

更多示例在示例目录中。

未实现的功能

功能状态原因
空闲和过期计时器未实现未实现。
setExpire()setIdle()sessionValidThru()未实现空闲和过期计时器未实现。
"高级安全"检查未实现未实现。
setAdvancedSecurity()未实现高级安全检查未实现。
log()attachLogObserver()范围外日志记录范围不包括此认证类。
removeUser()addUser()listUsers()范围外删除、添加和列出用户范围不包括此认证类。
setSessionName()已弃用不相关,会话层替代了它。
setAuth()已弃用无法看到手动设置登录用户名的良好理由。
deleteAuthData()已弃用无法看到删除会话数据的好理由。
staticCheckAuth()已弃用无法看到将静态访问认证类内嵌的好理由。

差异

  • 使用无参数的 getAuthData() 调用返回一个数组,其中包含当前用户可用的所有“认证数据”。然而,与 PEAR\Auth 不同,用户名字段也将包含在此数组中。

定制化

您可以通过在您的类中实现相应的 StorageInterface、HashingInterface 和 SessionInterface 接口来编写自己的存储、哈希和会话层。

许可协议

本项目采用 MIT 许可协议 - 有关详细信息,请参阅 LICENSE 文件。