首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取Laravel登录中的参数

获取Laravel登录中的参数
EN

Stack Overflow用户
提问于 2015-03-21 14:39:13
回答 1查看 1.2K关注 0票数 0

我想要唯一的url为每个用户时,他登录。

routes.php

代码语言:javascript
复制
Route::get('/', 'HomeController@index');
Route::get('USERNAME', 'HomeController@index'); // <--- this part
Route::get('about', 'PagesController@about');
Route::get('contact', 'PagesController@contact');

Route::pattern('id', '[0-9]+');
Route::get('news/{id}', 'ArticlesController@show');
Route::get('video/{id}', 'VideoController@show');
Route::get('photo/{id}', 'PhotoController@show');

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);


if (Request::is('admin/*'))
{
    require __DIR__.'/admin_routes.php';
}

AuthControler.php

代码语言:javascript
复制
protected $redirectTo = 'USERNAME'; // <--- this part

/**
 * Create a new authentication controller instance.
 *
 * @param  \Illuminate\Contracts\Auth\Guard  $auth
 * @param  \Illuminate\Contracts\Auth\Registrar  $registrar
 * @return void
 */
public function __construct(Guard $auth, Registrar $registrar)
{
    $this->auth = $auth;
    $this->registrar = $registrar;

    $this->middleware('guest', ['except' => 'getLogout']);
}

我希望当用户登录时有像www.somesite.com/USERNAME这样的url

EN

回答 1

Stack Overflow用户

发布于 2015-03-21 15:08:46

你可以这样做:

代码语言:javascript
复制
Route::get('/', 'HomeController@index');
Route::get('about', 'PagesController@about');
Route::get('contact', 'PagesController@contact');

Route::pattern('id', '[0-9]+');
Route::get('news/{id}', 'ArticlesController@show');
Route::get('video/{id}', 'VideoController@show');
Route::get('photo/{id}', 'PhotoController@show');

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);

Route::get('{username}', 'HomeController@index'); // <--- this part


if (Request::is('admin/*'))
{
    require __DIR__.'/admin_routes.php';
}

如果没有匹配的路由,则需要使用HomeController@index。有了这段代码,你可以做到这一点。然而,在我看来,这不是最好的选择。如果一个人的用户名是“约”,那该怎么办?然后,他被重定向到有关页。我建议这样做:

代码语言:javascript
复制
Route::get('users/{username}', 'HomeController@user');

如果你是个家庭主妇,你就能做到:

代码语言:javascript
复制
public function user($username)
{
    //$username contains the username
    //or something Auth::user()->username gives you the username
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29183924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档