wbc / auth-redux
现有PEAR Auth配置的现代化替代品。
v0.9.6
2018-07-16 11:32 UTC
Requires
- php: ^5.3.3 || ^7.0
Requires (Dev)
- phan/phan: ^0.12.9
- phpunit/phpunit: ^7.1
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 文件。