109 lines
2.2 KiB
PHP
109 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\Auth;
|
|
|
|
use Illuminate\Contracts\Auth\UserProvider;
|
|
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
|
|
|
|
/**
|
|
* These methods are typically the same across all guards.
|
|
*/
|
|
trait GuardHelpers
|
|
{
|
|
/**
|
|
* The currently authenticated user.
|
|
*
|
|
* @var \Illuminate\Contracts\Auth\Authenticatable
|
|
*/
|
|
protected $user;
|
|
|
|
/**
|
|
* The user provider implementation.
|
|
*
|
|
* @var \Illuminate\Contracts\Auth\UserProvider
|
|
*/
|
|
protected $provider;
|
|
|
|
/**
|
|
* Determine if the current user is authenticated.
|
|
*
|
|
* @return \Illuminate\Contracts\Auth\Authenticatable
|
|
*
|
|
* @throws \Illuminate\Auth\AuthenticationException
|
|
*/
|
|
public function authenticate()
|
|
{
|
|
if (! is_null($user = $this->user())) {
|
|
return $user;
|
|
}
|
|
|
|
throw new AuthenticationException;
|
|
}
|
|
|
|
/**
|
|
* Determine if the current user is authenticated.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function check()
|
|
{
|
|
return ! is_null($this->user());
|
|
}
|
|
|
|
/**
|
|
* Determine if the current user is a guest.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function guest()
|
|
{
|
|
return ! $this->check();
|
|
}
|
|
|
|
/**
|
|
* Get the ID for the currently authenticated user.
|
|
*
|
|
* @return int|null
|
|
*/
|
|
public function id()
|
|
{
|
|
if ($this->user()) {
|
|
return $this->user()->getAuthIdentifier();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Set the current user.
|
|
*
|
|
* @param \Illuminate\Contracts\Auth\Authenticatable $user
|
|
* @return $this
|
|
*/
|
|
public function setUser(AuthenticatableContract $user)
|
|
{
|
|
$this->user = $user;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get the user provider used by the guard.
|
|
*
|
|
* @return \Illuminate\Contracts\Auth\UserProvider
|
|
*/
|
|
public function getProvider()
|
|
{
|
|
return $this->provider;
|
|
}
|
|
|
|
/**
|
|
* Set the user provider used by the guard.
|
|
*
|
|
* @param \Illuminate\Contracts\Auth\UserProvider $provider
|
|
* @return void
|
|
*/
|
|
public function setProvider(UserProvider $provider)
|
|
{
|
|
$this->provider = $provider;
|
|
}
|
|
}
|