Welcome Guest, Not a member yet? Register   Sign In
Auth/myth - before filter - redirect login
#6

This is the login filter for Myth::Auth

PHP Code:
<?php namespace Myth\Auth\Filters;

use 
Config\Services;
use 
CodeIgniter\HTTP\RequestInterface;
use 
CodeIgniter\HTTP\ResponseInterface;
use 
CodeIgniter\Filters\FilterInterface;

class 
LoginFilter implements FilterInterface
{
    
/**
     * Do whatever processing this filter needs to do.
     * By default it should not return anything during
     * normal execution. However, when an abnormal state
     * is found, it should return an instance of
     * CodeIgniter\HTTP\Response. If it does, script
     * execution will end and that Response will be
     * sent back to the client, allowing for error pages,
     * redirects, etc.
     *
     * @param \CodeIgniter\HTTP\RequestInterface $request
     * @param array|null                         $params
     *
     * @return mixed
     */
    
public function before(RequestInterface $request$params null)
    {
        if (! 
function_exists('logged_in'))
        {
            
helper('auth');
        }

        
$current = (string)current_url(true)
            ->
setHost('')
            ->
setScheme('')
            ->
stripQuery('token');

        
// Make sure this isn't already a login route
        
if (in_array((string)$current, [route_to('login'), route_to('forgot'), route_to('reset-password'), route_to('register')]))
        {
            return;
        }

        
// if no user is logged in then send to the login form
        
$authenticate Services::authentication();
        if (! 
$authenticate->check())
        {
            
session()->set('redirect_url'current_url());
            return 
redirect('login');
        }
    }

    
//--------------------------------------------------------------------

    /**
     * Allows After filters to inspect and modify the response
     * object as needed. This method does not allow any way
     * to stop execution of other after filters, short of
     * throwing an Exception or Error.
     *
     * @param \CodeIgniter\HTTP\RequestInterface  $request
     * @param \CodeIgniter\HTTP\ResponseInterface $response
     * @param array|null                          $arguments
     *
     * @return void
     */
    
public function after(RequestInterface $requestResponseInterface $response$arguments null)
    {

    }

    
//--------------------------------------------------------------------


.app/Config/Filters

PHP Code:
'login'      => \Myth\Auth\Filters\LoginFilter::class, 

I would make sure that your using the version CI 4 4.0.4
Or get the developer version from here.

CodeIgniter Developer Version
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply


Messages In This Thread
RE: Auth/myth - before filter - redirect login - by InsiteFX - 08-04-2020, 01:17 PM



Theme © iAndrew 2016 - Forum software by © MyBB