php - 拉维尔 5.2 : Display a session flash message after user login/logout and registration

标签 php flash authentication laravel-5 notifications

使用运行 php artisan make:auth 后生成的默认设置,我现在想知道如何控制我需要在用户登录时向他显示的 flash 消息。

到目前为止,我已尝试将此代码添加到默认的 AuthController:

 public function authenticated($request, $user)
    {
        flash('Welcome back ' . $user->username . ', you have been logged in');
    }

但这会导致我的 Chrome 浏览器出现太多重定向错误。如何在不创建自定义 LoginController 或覆盖 AuthController 中的完整 login 方法的情况下刷新自定义消息?

最佳答案

Laravel 5.4

登录/注销

vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php 复制 authenticatedlogout 方法。
粘贴到 app/Http/Controllers/Auth/LoginController.php
添加即显消息。
不要忘记导入 Illuminate\Http\Request

use Illuminate\Http\Request;

class LoginController extends Controller
{
    /**
     * The user has been authenticated.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  mixed  $user
     * @return \Illuminate\Http\Response
     */
    protected function authenticated(Request $request, $user)
    {
        return redirect('users/' . $user->id)->with('status', __('You logged in.'));
    }

    /**
     * Log the user out of the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function logout(Request $request)
    {
        $this->guard()->logout();
        $request->session()->flush();
        $request->session()->regenerate();
        return redirect('/')->with('status', __('You logged out.'));
    }

注册

vendor/laravel/framework/src/Illuminate/Foundation/Auth/RegistersUsers.php 复制 registered 方法。
粘贴到 app/Http/Controllers/Auth/RegisterController.php
添加即显消息。
不要忘记导入 Illuminate\Http\Request

use Illuminate\Http\Request;

class RegisterController extends Controller
{
    /**
     * The user has been registered.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  mixed  $user
     * @return \Illuminate\Http\Response
     */
    protected function registered(Request $request, $user)
    {
        return redirect('users/' . $user->id)->with('status', __('You were registered.'));
    }

关于php - 拉维尔 5.2 : Display a session flash message after user login/logout and registration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38530758/

相关文章:

php - 如何在静态 block 中包含 JavaScript?

php - 使用 include 时捕获 PHP Parser 错误

php - Doctrine2 findBy ... 在哪里

php - 500 内部服务器错误 file_get_contents

php - Flash AS2 不会从 mySQL 数据库加载数据! (使用 PhP、AS2 和 MySQL)

flash - 将未经篡改的数据从 Flash 应用程序传递到服务器?

javascript - 为什么我的 ActionScript3 不调用我的 JavaScript 函数?

c# - 任务/线程中的 CredentialsCache.DefaultCredentials

asp.net - Intranet/Internet 的 Windows 身份验证

api - Web api 将名称和密码设置为 request.BasicAuth