Download the PHP package gymadarasz/auth without Composer
On this page you can find all versions of the php package gymadarasz/auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gymadarasz/auth
More information about gymadarasz/auth
Files in gymadarasz/auth
Package auth
Short Description Authentication and level based authorization
License MIT
Homepage http://jasny.github.com/auth
Informations about the package auth
Auth
Authentication and level based authorization for PHP.
Installation
Install using composer
composer require jasny\auth
Setup
Jasny\Auth
is an abstract class. You need to extend it and implement the abstract methods fetchUserById
and
fetchUserByUsername
. Also set the $secret
property to a randomly selected
string.
You also need to specify how the current user is persisted across requests. If you want to use normal PHP sessions, you
can simply use the Auth\Sessions
trait.
The fetch methods need to return a object that implements the Jasny\Auth\User
interface.
Authorization
By default the Auth
class only does authentication. Authorization can be added by impelmenting the authorize
method.
Two traits are predefined to do Authorization: Authz\byLevel
and Authz\byGroup
.
by level
The Authz\byLevel
traits implements authorization based on access levels. Each user get permissions for it's level and
all levels below.
For authorization the user object also needs to implement Jasny\Authz\User
, adding the hasRole()
method.
/**
* Check if the user has the specified security level
*
* @param int $level
* @return boolean
*/
public function hasRole($level)
{
return $this->security_level >= $level;
}
by group
The Auth\byGroup
traits implements authorization using access groups. An access group may supersede other groups.
For authorization the user object also needs to implement Jasny\Authz\User
, adding the hasRole()
method.
/**
* Check if the user is in the specified security group
*
* @param string $group
* @return boolean
*/
public function hasRole($group)
{
return in_array($group, Auth::expandGroup($this->group));
}
Usage
Authentication
Verify username and password
Auth::verify($username, $password);
Login with username and password
Auth::login($username, $password);
Set user without verification
Auth::setUser($user);
Logout
Auth::logout();
Get current user
Auth::user();
Authorization
Check if user is allowed to do something
if (!Auth::authorized('admin')) die("Not allowed");
Signup confirmation
Get a verification hash. Use it in an url and set that url in an e-mail to the user
Use the confirmation hash to fetch and verify the user
Forgot password
Forgot password works the same as the signup confirmation.
Use the confirmation hash to fetch and verify the user