【问题标题】:Laravel 5.3 Authentication with additional conditionLaravel 5.3 附加条件的身份验证
【发布时间】:2017-03-08 19:41:17
【问题描述】:

Laravel 5.3 发生了一些变化。在文档中有这个控制器,我们可以在其中添加附加条件:

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Auth;

class AuthController extends Controller
{
    /**
     * Handle an authentication attempt.
     *
     * @return Response
     */
    public function authenticate()
    {
        if (Auth::attempt(['email' => $email, 'password' => $password])) {
            // Authentication passed...
            return redirect()->intended('dashboard');
        }
    }
}

但是这个控制器:AuthController 已经不存在了..... 只有LoginController

我应该创建那个 AuthController 还是什么?

所以问题是如何为用户添加一个登录条件

'active' => 1

【问题讨论】:

    标签: laravel authentication laravel-5.3


    【解决方案1】:

    您可以在 LoginController 中指定 additional condition,例如 'active' = 1:

    <?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Support\Facades\Auth;
    
    class LoginController extends Controller
    {
        /**
         * Handle an authentication attempt.
         *
         * @return Response
         */
        public function authenticate(Request $request)
        {
            $email = $request->input('email');
            if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
                // Authentication passed...
                return redirect()->intended('dashboard');
            }
        }
    } 
    

    【讨论】:

      【解决方案2】:

      您可以在 5.3 中使用 LoginController 来实现这一点。做你想做的事情的一种方法是覆盖sendLoginResponse() 方法并在它的开头添加这样的东西:

      if (!auth()->user()->active) {
          auth()->logout();
          return redirect('/');
      }
      

      如果用户不活跃,这将注销用户并将他重定向到根目录。 active 是布尔值。

      【讨论】:

      • 很好...我是这样设计的: public function sendLoginResponse() { if (!auth()->user()->active) { auth()->logout(); return redirect('login')->with('warning', 'Sie sind noch nicht aktiviert!'); } }
      • 很高兴它有帮助。
      猜你喜欢
      • 2017-05-25
      • 2017-05-13
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 2017-01-25
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多