Support the ongoing development of Laravel.io →
Authentication
Last updated 2 years ago.
0

register/create a new middleware? and then check if user_id == 1? check other middlewares for examples.

0

I guess my first question is why are you trying to allow a certain user the permission to register another user while they are already authenticated? Why don't you just create a controller and a view that allows a form submission for a new user and then provide access to that user to use that controller?

I say this because currently by default there is middleware setup to redirect if authenticated. Please see app\Http\Middleware\RedirectIfAuthenticated.php.

0

Warning: Below is not well tested and likely not the best way of doing it, but here goes.

In Auth\AuthController.php add:

    public function getRegister()
    {
        if (!Auth::check() || Auth::user()->id !== 1)
            return redirect('/');
        return view('auth.register');
    }

This will override the default controller method and redirect people accessing /auth/register if they're are not logged and/or if they don't have user id 1.

Next you will probably have to add getRegister to except in the AuthController constructor, L5 by default redirects auth'ed users away from auth/login and auth/register, so try the change below.

    public function __construct()
    {
        $this->middleware('guest', ['except' => ['getLogout', 'getRegister']]);
    }

Alternative, you can change the RedirectIfAuthenticated.php middleware, but I think above is a nicer way of doing it.

0

@tkprocat - That's got me on right track. For some reason when I try it when I log in I get redirected back to the main page, but that is probably due to something in my routes.php file.

The reason why I am doing this is because I am user number 1, and I want to have absolute control over who I give access to.

I will still look at the middleware solutions. It's something I really need to understand in greater depth anyway.

Thanks Neil.

0

Sign in to participate in this thread!

Eventy

Your banner here too?

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2024 Laravel.io - All rights reserved.