dmitrymomot / php-auth

PHP Auth

v1.0.0 2014-04-27 20:12 UTC

This package is auto-updated.

Last update: 2024-09-12 22:54:21 UTC


README

简单的身份验证库

关键点

  • 支持驱动程序(已包括包中的'文件'和'数据库'适配器)。
  • 易于使用
  • 最小配置

安装

此包可通过 Composer 获取

{
    "require": {
        "dmitrymomot/php-auth": "1.*"
    }
}

使用示例

使用适配器 File

$auth = new \Auth\Adapter\File;
$auth->setUsers(array('test_user' => array('password' => 'hashed_password', 'role' => 'user')));

登录

$auth->login('test_user', 'password'); // returns boolean value

获取用户

$auth->getUser('guest') // returns current username or 'guest', if user isn't logged in

获取用户角色

$auth->getRole() // returns string

检查登录

$auth->loggedIn() // returned true

检查作为某用户登录

$auth->loggedIn('admin') // returned false
$auth->loggedIn('user') // returned true

登出

$auth->logout(); // returns boolean value

以其他用户身份登录

$auth->loginAs('username'); // returns boolean value

返回初始用户

$auth->comeBack(); // returns boolean value

使用适配器 Database

(支持与'文件'适配器相同的功能)

在 composer.json 中添加包 php-activerecord/php-activerecord

    "require": {
		"dmitrymomot/php-session": "1.*",
        "php-activerecord/php-activerecord":"dev-master"
    },

并更新 composer。

设置数据库配置(更多信息请参阅 php-activerecord 文档

$cfg = \ActiveRecord\Config::instance();
$cfg->set_connections(array(
	'development' => 'mysql://username_for_dev:password@localhost/username_for_dev',
	'production' => 'mysql://username:password@localhost/database_name'
));

初始化

$auth = new \Auth\Adapter\Database();

使用自定义模型 User 初始化

class CustomUser implements \Auth\Model\UserInterface {
	//....realisation of interface
}

$model = '\Custom\Model\CustomUser'; // full path to class
$auth = new \Auth\Adapter\Database($model);

获取用户

$auth->getUser('guest') // returns instance of class \Auth\Model\User or 'guest', if user isn't logged in

创建新用户

$auth->createUser(array('username' => 'test_user', 'password' => 'some_password', 'email' => 'user@mail.com', ...)); // returns boolean value or array error messages

更新当前用户

$auth->updateUser(array('username' => 'test_user', 'password' => 'some_password', ....)); // returns boolean value or array error messages

助手

echo \Auth\Auth::hash('admin'); // returns hashed string 'admin'

您还可以设置哈希密钥

\Auth\Auth::hashKey = 'vv34r3v4c34r';

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件