Laravel方法Auth用户重定向到使用消息登录

时间:2018-01-27 21:09:19

标签: php laravel

我希望在登录时使用消息重定向来宾,但方法:

redirect()->route('login')->with('error', 'Please auth!!');

仅在页面登录时重定向而不显示消息。我如何添加消息?

示例:

`if (key >= null) {`

3 个答案:

答案 0 :(得分:1)

您可以使用执行重定向的中间件来执行此操作。在app/Http/Middleware/Withmessage.php创建中间件,并在app/Http/Kernel.php字符串后将其添加到StartSession

protected $middlewareGroups = [
    'web' => [
        ...
        \Illuminate\Session\Middleware\StartSession::class,
        \App\Http\Middleware\Withmessage::class, // <-- here
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        ...
    ],
    ...
];

中间件的代码只包含一个字符串,与干净的中间件不同。

namespace App\Http\Middleware;

use Closure;
use Auth;

class Withmessage {

    public function handle($request, Closure $next)
    {
        $route = $request->route()->getName();
        if(!Auth::user() and $route === 'button-click-button') {                
            return redirect()->route('login')->with('error', 'Please auth!!');
        }

        return $next($request);
    }
}

答案 1 :(得分:0)

return redirect('/login')->with('msg','邮箱或密码不匹配');

答案 2 :(得分:-1)

您可以添加控制器:

public function __construct()
{
    $this->middleware('auth');
}

您也只能使用一种方法来检查身份验证

public function __construct()
{
    $this->middleware('auth')->only('nameOfMethod');
}