(12-11-2021, 02:40 AM)InsiteFX Wrote: I use a named route for my dashboard and it works fine with Chrome, I gave up on IE years ago.
I still have a few users wwho are using IE.
This is where I call the 'dashboard' controller after settting the session values
--------------------------------------------------------------------------------------------
// Stroing session values
$this->setUserSession($user);
$temp = session()->get();
// Redirecting to dashboard after login
return redirect()->to(base_url('dashboard'));
----------------------------------------------------------------
This is "dashboard" controller
namespace App\Controllers;
use App\Controllers\BaseController;
class Dashboard extends BaseController
{
public function index()
{
return view("dashboard");
}
}
----------------------------------------------------------------------
This is route
$routes->match(['get', 'post'], 'register', 'User::register', ['filter' => 'noauth']);
$routes->match(['get', 'post'], 'login', 'User::login', ['filter' => 'noauth']);
$routes->get('dashboard', 'Dashboard::index', ['filter' => 'auth']);
$routes->get('profile', 'User::profile', ['filter' => 'auth']);
$routes->get('logout', 'User::logout');
---------------------------------------------------------------------
This is 'auth' filter
namespace App\Filters;
use CodeIgniter\Filters\FilterInterface;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
class Auth implements FilterInterface
{
public function before(RequestInterface $request, $arguments = null)
{
if (!session()->get('isLoggedIn')) {
return redirect()->to(site_url('login'));
}
}
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
{
// Do something here
}
}