crabstudio/authenticate
Composer 安装命令:
composer require crabstudio/authenticate
包简介
Advance Authenticate plugin for CakePHP 3.2+
README 文档
README
Advance Authenticate plugin for CakePHP 3.2+
Support me 
Feature
- Prevent brute force attack by IP
- Remember/Auto login
Installation
You can install this plugin into your CakePHP application using composer.
The recommended way to install composer packages is:
composer self-update
composer require crabstudio/authenticate
Or add the following lines to your application's composer.json:
"require": {
"crabstudio/authenticate": "^1.0"
}
followed by the command:
composer update
Load plugin
From command line:
bin/cake plugin load Authenticate
Or add this line to the end of file Your_project\config\bootstrap.php
Plugin::load('Authenticate');
Configure
Config Auth component from AppController.php
// All config key as usual FormAuthenticate/BaseAuthenticate
// I list the different config keys only.
$this->loadComponent('Auth', [
'authenticate' => [
'Authenticate.Advance' => [
'lockout' => [
'retries' => 3,
'expires' => '5 minutes',
'file_path' => 'prevent_brute_force',
'message' => [
'locked' => 'You have exceeded the number of allowed login attempts. Please try again in {0}',
'login_fail' => 'Incorrect username or password. {0} retries remain. Please try again',
]
],
'remember' => [
'enable' => true,
'key' => 'RememberMe',
'expires' => '1 months',
],
],
]);
If you want to store login information to the Cookie, login Form required checkbox RememberMe as bellow
Paste this function to the AppController.php
// remember to import Event to the AppController.php
use Cake\Event\Event;
public function initialize()
{
parent::initialize();
$this->loadComponent('Cookie');
}
public function beforeFilter(Event $event)
{
//Automaticaly Login.
if (!$this->Auth->user() && $this->Cookie->read('RememberMe')) {
$user = $this->Auth->identify();
if ($user) {
$this->Auth->setUser($user);
} else {
$this->Cookie->delete('RememberMe');
}
}
}
// login.ctp template
<?=$this->Form->create()?>
<?=$this->Flash->render()?>
<?=$this->Form->input('username')?>
<?=$this->Form->input('password')?>
<?=$this->Form->input('RememberMe', ['checked' => false, 'type' => 'checkbox'])?>
<?=$this->Form->input(__('Login'), ['type' => 'submit'])?>
<?=$this->Form->end()?>
crabstudio/authenticate 适用场景与选型建议
crabstudio/authenticate 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 810 次下载、GitHub Stars 达 2, 最近一次更新时间为 2016 年 08 月 03 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「authenticate」 「cakephp3」 「cake3」 「crabstudio」 「anhtuank7c」 「Prevent brute force attack」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 crabstudio/authenticate 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 crabstudio/authenticate 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 crabstudio/authenticate 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A simple Cake3 plugin to authenticate users with Cookies.
CakePHP plugin that performs Remember-me authentication with the new cookie algorithm of version 3.5 or later
AclManager plugin for CakePHP 3.x
AWS S3 datasource in CakePHP3
Google Authentication in Laravel
A simple Cake3 plugin to authenticate users with Cookies.
统计信息
- 总下载量: 810
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 25
- 依赖项目数: 1
- 推荐数: 3
其他信息
- 授权协议: MIT
- 更新时间: 2016-08-03