我正在使用laravel。 用于身份验证哨兵2。 当用户访问我的网站时,他们将转到页面
http://dolovers.com/profile/13
这里13是用户ID。
我正在研究如何通过其用户名
找到更好的用户我还希望通过以下方式减少链接:
http://dolovers.com/<username>
我应该如何从sentry2和laravel开始。谢谢您的帮助 :) 个人资料的路线:
# Profile
// Route::get('profile', array('as' => 'profile', 'uses' => 'Controllers\Account\ProfileController@getIndex'));
Route::get('profile', array('as' => 'profile', 'uses' => 'ProfilesController@index'));
Route::post('profile', 'Controllers\Account\ProfileController@postIndex');
答案 0 :(得分:4)
这是您通过ID找到您的用户的方式:
$user = Sentry::findUserById(13);
或登录
$user = Sentry::findUserByLogin('john.doe@example.com');
$user = Sentry::findUserByLogin('sagiruddin-mondal');
要缩小链接,您需要修改路线:
Route::get('/{userId}',
array(
'as' => 'user.find.get',
'uses' => 'ProfilesController@index'
)
);
Route::post('/{userId}',
array(
'as' => 'user.find.post',
'uses' => 'ProfilesController@postIndex'
)
);
Route::get('/',
array(
'as' => 'home',
'uses' => 'HomeController@index'
)
);
应该让你使用像
这样的路线http://dolovers.com/<userid>
还可以使用
创建网址URL::route('user.find.get', array(13));
URL::route('user.find.post', array(13));
我还定义了第二条路线(home)指向
http://dolovers.com/
您的UsersController看起来像:
class UsersController extends Controller {
protected function findUser($username)
{
if ( ! $user = Sentry::findUserByLogin('sagiruddin-mondal'))
{
return "user not found";
}
return $user->name;
}
}