Home Articles

Laravel 5.3创建登录/身份验证操作

Asked
Viewed 679 times
1

我正在使用laravel 5.3并且已经发现旧的auth控制器已经移动到核心(Illuminate ......) . 对于未经身份验证的用户,App \ Exceptions \ Handler.php中存在“未经身份验证”的功能,当未经身份验证的用户抛出“身份验证”时,会调用该功能 .

但是我没有找到放置一个函数的位置,每当用户成功登录或者已经通过记忆令牌成功验证时应该调用该函数 . 在我的例子中,这个函数应该做一些像log ip等的东西 .

你能帮我把这个功能放在哪里吗?

谢谢!

4 Answers

  • 1

    这是一个自定义身份验证解决方案 .

    class AdminsController extends Controller
    {
        public function getLogin()
        {
            return view('admin.login');
        }
    
        public function postLogin(Request $request)
        {
            $this->validate($request, ['email' => 'required|email', 'password' => 'required']);
    
            if(!Auth::attempt(['email' => $request['email'], 'password' => $request['password']])) {
                return redirect()->back()->with(['fail' => 'Could not log you in!']);
            }
    
            return redirect()->route('admin.dashboard');
    
        }
    
        public function getLogout()
        {
                Auth::logout();
                return redirect()->route('index');
        }
    }
    

    在routes.php中:

    Route::group(['middleware' => ['guest']], function () {
    
        Route::get('/admin/login', [
            'uses' => 'AdminsController@getLogin',
            'as' => 'admin.login'
        ]);
    
        Route::post('/admin/login', [
            'uses' => 'AdminsController@postLogin',
            'as' => 'admin.login'
        ]);
    });
    
    Route::group(['middleware' => ['auth']], function () {
        Route::get('/admin/logout', [
            'uses' => 'AdminsController@getLogout',
            'as' => 'admin.logout'
        ]);
    });
    

    希望你能解决这个代码并且它很有帮助 .

  • 0

    我认为可以在命令提示符下使用此命令来完成 .

    php artisan make:auth
    
  • 0

    除非我遗漏了什么,否则Laravel 5.3的App \ Exceptions \ Handler.php中没有“未经验证”的功能

    你应该看看authorization actions

    Laravel 5.3预装了Auth scafolding .

    PROJECT/app/Http/Controllers/Auth
    
  • 0

    在5.3中,我刚刚使用开箱即用的身份验证修改了登录的成功和失败操作 . 这个要点可能对你有所帮助 . 它实际上解释了如何使用api / login登录并将令牌传递回移动平台 . 然后,您可以随后使用令牌回拨所有API . 我修改了返回以识别Json请求标头并将用户作为json发回 .

    以下是可能对您有所帮助的信息 . Laravel API Token Help

Related