2017 © Pedro Peláez
 

cakephp-plugin authenticate

Advance Authenticate plugin for CakePHP 3.2+

image

crabstudio/authenticate

Advance Authenticate plugin for CakePHP 3.2+

  • PHP
  • 1 Dependents
  • 3 Suggesters
  • 1 Forks
  • 0 Open issues
  • 3 Versions
  • 6 % Grown

The README.md

Build Status Latest Stable Version Total Downloads License Latest Unstable Version, (*1)

Advance Authenticate plugin for CakePHP 3.2+

Support me paypal

Feature

  • Prevent brute force attack by IP
  • Remember/Auto login

Installation

You can install this plugin into your CakePHP application using composer., (*2)

The recommended way to install composer packages is:, (*3)

composer self-update
composer require crabstudio/authenticate

Or add the following lines to your application's composer.json:, (*4)

"require": {
    "crabstudio/authenticate": "^1.0"
}

followed by the command:, (*5)

composer update

Load plugin

From command line:, (*6)

bin/cake plugin load Authenticate

Or add this line to the end of file Your_project\config\bootstrap.php, (*7)

Plugin::load('Authenticate');

Configure

Config Auth component from AppController.php, (*8)

// 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, (*9)

Paste this function to the AppController.php, (*10)

// 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()?>

The Versions

03/08 2016

dev-master

9999999-dev https://github.com/crabstudio/authenticate

Advance Authenticate plugin for CakePHP 3.2+

  Sources   Download

MIT

The Requires

 

The Development Requires

authenticate cakephp3 cake3 crabstudio anhtuank7c prevent brute force attack

03/08 2016

1.0.0

1.0.0.0 https://github.com/crabstudio/authenticate

Advance Authenticate plugin for CakePHP 3.x

  Sources   Download

MIT

The Requires

 

The Development Requires

authenticate cakephp3 cake3 crabstudio anhtuank7c prevent brute force attack

03/08 2016

1.0.1

1.0.1.0 https://github.com/crabstudio/authenticate

Advance Authenticate plugin for CakePHP 3.2+

  Sources   Download

MIT

The Requires

 

The Development Requires

authenticate cakephp3 cake3 crabstudio anhtuank7c prevent brute force attack