2017-10-16 79 views
1

很抱歉,但我是很新,Laravel,所以我可能会说一些愚蠢的事情......设置消息“/登录”页面


OK,我刚刚创建使用php artisan make:auth认证系统,并创建了auth中间件简单的路线:

Route::get("/test", "[email protected]")->middleware('auth'); 

客人进入/测试页时,身份验证系统自动他重定向到/登录页面,这是确定。

不过,我想节目的嘉宾,如“你有才能查看此页面登录”的消息,所以我加入这个代码到Auth/LoginController.php

public function showLoginForm() 
{ 
    $intendedURL = \Session::get('url.intended'); 

    if($intendedURL) 
     return view('auth.login')->with("message", "You must log in to continue"); 

    return view('auth.login'); 
} 

,可以吗?这是一个很好的实现方法吗?因为它看起来很奇怪我..

谢谢!

回答

1

它与用户是否有预期的URL测试OK,有一点要记住,这将影响到所有用户重定向不只是从/test

的那些,但最好是使用消息冲洗上没有传递给它在视图中对这种消息的会话:

public function showLoginForm() 
{ 
    $intendedURL = \Session::get('url.intended'); 

    if($intendedURL) { 
     Session::flash('message', 'You must log in to continue'); 
     } 

    return view('auth.login'); 
} 

并在视图中,您将使用Session::has方法:

@if(Session::has('message')) 
    <p class="alert alert-info">{{ Session::get('message') }}</p> 
@endif 

并添加一些CSS;)

+0

实际上,我希望任何由于“auth”而被重定向到登录页面的访客都会看到此消息。 “测试”页面仅仅是一个例子。不管怎样,闪光灯看起来好多了! :) – StyleSh1t

+1

是的,它会做到这一点,而我说的是什么;) – Maraboc

相关问题