doukanhua0752
2015-10-06 05:24
浏览 63
已采纳

我们如何编辑Laravel Auth重定向网址?

In my project after authenticate the dashboard URL need to looks like "http://www.ct.dev/chistoper.martin_555/dashboard".

But now URL showing after authentication is "http://www.ct.dev/dashboard".

Please help me to edit url just like http://www.ct.dev/chistoper.martin_555/dashboard.

chistoper.martin_555 : I need to take this name from database.

AuthController.php

protected $redirectPath = '/dashboard';

routes.php

    Route::group(['middleware' => 'auth'], function () {
    Route::get('/dashboard', 'PublishprofileController@index');
});

PublishprofileController.php

public function index()
    {
        session()->put('userID', Auth::user()->id);
        $confirmDetails   = User::select('confirmed_at')
            ->where('id', session()->get('userID'))
            ->first();
        return view('test.frontend')->with('confirmTime', $confirmDetails->confirmed_at);
    }
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • drbz99867 2015-10-06 05:47
    已采纳

    Since you want your redirect path to be dynamic, this can be pretty complex and it might not even be possible. Instead you can do this in your PublishprofileController. This has the benefit of being more concise and can easily be changed down the line.

    public function index()
    {
        session()->put('userID', Auth::user()->id);
        $confirmDetails = User::select('confirmed_at')
            ->where('id', session()->get('userID'))
            ->first();
        return redirect(Auth::user()->name.'/dashboard');
    }
    

    Then in your routes.php:

    Route::get('{name}/dashboard', 'PublishprofileController@show');

    Then edit your show method to return the view. Obviously there's some more code you will have to write, that part is up to you, but this should get you on the right track

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题